@webority/analytics 0.35.1 → 0.36.1

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
+ import{a as ee}from"./chunk-TPTUIQE4.js";var ve=["google","googleads","adwords","youtube"],xe=["meta","facebook","fb","instagram","ig","messenger"],Ue=["linkedin","lnkd"],Fe=["bing","microsoft","microsoftads","msn"],te=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"]]]),Pe=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],Me=["google","yandex"],$e=["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"],f=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 f.DIRECT;let t=m(e.utmSource);if(t){let r=O(t);if(ve.includes(r))return f.GOOGLE;if(xe.includes(r))return f.META;if(Ue.includes(r))return f.LINKEDIN;if(Fe.includes(r))return f.MICROSOFT}if(m(e.fbclid))return f.META;if(m(e.gclid)||m(e.gbraid)||m(e.wbraid))return f.GOOGLE;if(m(e.liFatId))return f.LINKEDIN;if(m(e.msclkid))return f.MICROSOFT;if(ne(t))return f.AI_ASSISTANT;if(t||m(e.utmMedium)||m(e.utmCampaign)||m(e.utmContent)||m(e.utmTerm))return f.OTHER;let o=ie(e.referrer);return o?oe(o)?f.AI_ASSISTANT:Ge(o)?f.ORGANIC_SEARCH:$e.some(r=>re(o,r))?f.ORGANIC_SOCIAL:f.REFERRAL:f.DIRECT}function x(e){if(!e)return"";let t=ne(m(e.utmSource));if(t)return t;let n=ie(e.referrer);return n?oe(n):""}function ne(e){if(!e)return"";let t=O(e);for(let[n,o]of te)if(O(n)===t||o.some(r=>O(r)===t))return n;return""}function oe(e){for(let[t,n]of te)if(n.some(o=>re(e,o)))return t;return""}function Ge(e){return Pe.includes(e)?!0:Me.some(t=>{if(!e.startsWith(`${t}.`))return!1;let n=e.slice(t.length+1).split(".");return n.length===1||n.length===2&&(n[0]==="co"||n[0]==="com")})}function re(e,t){return e===t||e.endsWith(`.${t}`)}function ie(e){let t=m(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 O(e){return String(e).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function m(e){return String(e??"").trim()}var U=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 He(e){let t=typeof e=="string"?e.trim().toUpperCase():"";return t.length!==2||t==="XX"||t==="T1"?!0:U.includes(t)}var A="webority_cookie_consent",se="webority-consent-change",ce=365,a={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:ce,cookieDomain:null,regionCookie:null,region:null,saved:null},ue=["eea","other"],F=new Set;function Be(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.');a.initialized=!0,a.strictOptIn=t,a.requiresOptIn=t||e.requiresOptIn,a.adStorage=e.adStorage??!t,a.cookieDays=e.cookieDays??ce,a.cookieDomain=e.cookieDomain?.trim()??null,a.regionCookie=e.regionCookie??null,a.region=a.regionCookie?We(a.regionCookie):null;let{saved:n,entryCount:o}=je();a.saved=n,a.cookieDomain&&o>1&&n&&me(n),Ke(),Ve(),a.saved?$(a.saved):fe()&&pe()}function ze(e){if(M("setConsentRegion"),!ue.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=d();if(a.region=e,a.saved)return;let n=d();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(pe(),de(n))}function E(){return a.initialized}function le(){return a.strictOptIn}function P(){return a.adStorage}function d(){M("getConsent");let e=a.saved;if(e)return{essential:!0,analytics:e.analytics,functional:e.functional,marketing:e.marketing,decided:!0};if(fe())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let t=!a.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function qe(e){M("saveConsent");let t={essential:!0,analytics:e?.analytics===!0,functional:e?.functional===!0,marketing:e?.marketing===!0,timestamp:new Date().toISOString()};me(t),a.saved=t,$(t),de(d())}function y(e){return F.add(e),()=>F.delete(e)}function de(e){for(let t of F)try{t(e)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(se,{detail:e}))}function M(e){if(!a.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function S(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function Ke(){if(a.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:[...U]});let e=a.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 Ve(){S("set","ads_data_redaction",!0),S("set","url_passthrough",!0)}function fe(){return a.requiresOptIn&&!a.strictOptIn&&a.region==="other"}function pe(){let e=d();$(e,e.analytics&&a.adStorage)}function $(e,t=e.marketing&&a.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 je(){let e=`${A}=`,t=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(e)),n=t.map(o=>Ye(o.slice(e.length))).filter(Boolean);return{saved:Qe(n),entryCount:t.length}}function We(e){let t=`${e}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(t))?.slice(t.length);return ue.includes(o)?o:null}function Ye(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 Qe(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 me(e){let t=typeof e.timestamp=="string"?Date.parse(e.timestamp):Number.NaN,n=(Number.isNaN(t)?Date.now():t)+a.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";a.cookieDomain&&ae(`${A}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=a.cookieDomain?`;domain=${a.cookieDomain}`:"";ae(`${A}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function ae(e){document.cookie=e}var R="webority_attribution",Xe=2160*60*60*1e3,Je=200,G=500,Ze=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"}),ge=!1;function et(){ye("captureAttribution"),rt();let e=nt();if(!e)return;let t=K(H());Ee(H(),{firstTouch:t?.firstTouch??e,lastTouch:e}),tt(e)}function tt(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 q(){return ye("getAttribution"),K(H())}function nt(){let e=new URLSearchParams(window.location.search),t={};for(let[r,c]of Object.entries(Ze)){let s=b(e.get(r),Je);s&&(t[c]=s)}let n=b(e.get("referrer"),G)||ot();if(n&&(t.referrer=n),Object.keys(t).length===0)return null;let o=x(t);return o&&(t.aiSource=o),t.landingPage=b(window.location.pathname,G),t.capturedDateTimeUtc=new Date().toISOString(),t}function ot(){let e=document.referrer;if(!e)return"";try{return new URL(e).hostname===window.location.hostname?"":b(e,G)}catch{return""}}function rt(){ge||(ge=!0,y(e=>{let t=e.marketing?z():B(),n=e.marketing?B():z(),o=K(t);it(t),o&&Ee(n,o)}))}function H(){return d().marketing?B():z()}function B(){try{return window.localStorage}catch{return null}}function z(){try{return window.sessionStorage}catch{return null}}function K(e){try{let t=e?.getItem(R);if(!t)return null;let n=JSON.parse(t),o=_e(n?.firstTouch),r=_e(n?.lastTouch);return!o&&!r?(e.removeItem(R),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function Ee(e,t){try{e?.setItem(R,JSON.stringify(t))}catch{}}function it(e){try{e?.removeItem(R)}catch{}}function _e(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 b(e,t){let n=String(e??"").trim();return n?n.slice(0,t):""}function ye(e){if(!E())throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function Ce(e,t){return import("./web-vitals-RMISAXOY.js").then(n=>n.startWebVitals(e,t)).catch(()=>{})}var at=["scroll","mousemove","touchstart","keydown","pointerdown"];function N(e){let t=!1,n=()=>{t||(t=!0,e())};for(let o of at)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,1500):window.addEventListener("load",()=>setTimeout(n,1500),{once:!0})}var i=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",LEAD_WON:"lead_won",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",EMAIL_CLICK:"email_click",PAGE_NOT_FOUND:"page_not_found",CHAT_OPENED:"chat_opened",CHAT_STARTED:"chat_started",CHAT_INPUT_SUBMITTED:"chat_input_submitted",CHAT_HANDOFF_REQUESTED:"chat_handoff_requested",CHAT_RATED:"chat_rated",CHAT_ACTION_REPEATED:"chat_action_repeated",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),Ht=Object.freeze({signupStarted:i.SIGNUP_STARTED,signupCompleted:i.SIGNUP_COMPLETED,loginSucceeded:i.LOGIN_SUCCEEDED,onboardingStarted:i.ONBOARDING_STARTED,onboardingStepCompleted:i.ONBOARDING_STEP_COMPLETED,onboardingCompleted:i.ONBOARDING_COMPLETED,subscriptionActivated:i.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:i.SUBSCRIPTION_CANCELLED,paymentSucceeded:i.PAYMENT_SUCCEEDED,paymentFailed:i.PAYMENT_FAILED,feedbackSubmitted:i.FEEDBACK_SUBMITTED,leadSubmitted:i.LEAD_SUBMITTED,leadQualified:i.LEAD_QUALIFIED,leadWon:i.LEAD_WON,whatsappClick:i.WHATSAPP_CLICK,calculatorUse:i.CALCULATOR_USE,phoneClick:i.PHONE_CLICK,demoBooked:i.DEMO_BOOKED,contactSubmitted:i.CONTACT_SUBMITTED,trialStartClick:i.TRIAL_START_CLICK,sampleReportDownload:i.SAMPLE_REPORT_DOWNLOAD,reportVerified:i.REPORT_VERIFIED,contentEngaged:i.CONTENT_ENGAGED,emailClick:i.EMAIL_CLICK,pageNotFound:i.PAGE_NOT_FOUND,chatOpened:i.CHAT_OPENED,chatStarted:i.CHAT_STARTED,chatInputSubmitted:i.CHAT_INPUT_SUBMITTED,chatHandoffRequested:i.CHAT_HANDOFF_REQUESTED,chatRated:i.CHAT_RATED,chatActionRepeated:i.CHAT_ACTION_REPEATED,tourStarted:i.TOUR_STARTED,tourStepViewed:i.TOUR_STEP_VIEWED,tourCompleted:i.TOUR_COMPLETED,tourSkipped:i.TOUR_SKIPPED}),Te=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;function Se(){let e=new Set(Object.values(i));return{register(t){for(let n of t){if(!Te.test(n))throw new Error(`@webority/analytics: invalid event name "${n}". Expected snake_case.`);e.add(n)}},assertRegistered(t){if(!e.has(t))throw new Error(`@webority/analytics: event "${t}" is not registered. Call registerEvents() first.`)}}}var V=Se(),u={config:null,posthogInstance:null,posthogInitPromise:null,pendingIdentify:null};function jt(e){u.config=e,u.posthogInstance=null,u.posthogInitPromise=null,u.pendingIdentify=null}function st(){let e=u.config;return e?!!(e.enabled&&e.clientKey&&e.environment!=="Local"):!1}function D(){return E()&&d().analytics}function he(){return st()&&D()}var L=new Set,Ie=new WeakSet,we=null;function Qt(e){let t=j();if(!t)return!1;try{return t.isFeatureEnabled(e)===!0}catch(n){return be(`feature flag "${e}" could not be read, so it reads as off`,n),k(n),!1}}function Xt(e){let t=j();if(!t)return null;try{return t.getFeatureFlag(e)??null}catch(n){return be(`feature flag "${e}" could not be read, so it reads as null`,n),k(n),null}}function Jt(e){L.add(e);let t=j();return(!t||we===t)&&queueMicrotask(()=>{L.has(e)&&Ae(e)}),()=>L.delete(e)}function Oe(e){u.config?.featureFlags!==!0||Ie.has(e)||typeof e.onFeatureFlags!="function"||(Ie.add(e),e.onFeatureFlags(()=>{we=e;for(let t of[...L])Ae(t)}))}function j(){return u.config?.featureFlags!==!0||!he()?null:u.posthogInstance??null}function Ae(e){try{e()}catch(t){k(t)}}function be(e,t){let n=u.config?.logger,o=typeof n?.warn=="function"?n.warn:n?.info;if(typeof o=="function")try{o.call(n,`@webority/analytics: ${e}: ${t?.message??t}`)}catch(r){k(r)}}function k(e){queueMicrotask(()=>{throw e})}var ct=new Set(["token","code","email","access_token","id_token","state","session_state","password","search","q","query"]),ut=/(?:access_token|id_token|session_state|token|code|state|email|password)=/i,lt=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"],dt=4,ft=5,pt=6;function h(e){if(typeof e!="string")return e;let t=e.indexOf("#"),n=t===-1?e:e.slice(0,t),o=t===-1||ut.test(e.slice(t))?"":e.slice(t),r=n.indexOf("?");if(r===-1)return n+o;let c=n.slice(r+1).split("&"),s=c.filter(_=>!ct.has(Et(_))).map(_t);if(s.length===c.length&&s.every((_,I)=>_===c[I]))return n+o;let p=n.slice(0,r),T=s.filter(_=>_!=="").join("&");return(T?`${p}?${T}`:p)+o}function Re(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])gt(r);let n=t?.$heatmap_data;if(n&&typeof n=="object"){let r={};for(let[c,s]of Object.entries(n)){let p=h(c);r[p]=r[p]?r[p].concat(s):s}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 s of["$current_url","navigationURL"])typeof c[s]=="string"&&(c[s]=h(c[s]))}let o=t?.$snapshot_data;if(e.event==="$snapshot"&&o&&typeof o=="object")for(let r of Array.isArray(o)?o:[o])mt(r);return e}function mt(e){let t=e?.data;if(!(!t||typeof t!="object")){if(e.type===dt)v(t,["href"]);else if(e.type===ft)v(t.payload,["href"]);else if(e.type===pt&&Array.isArray(t.payload?.requests))for(let n of t.payload.requests)v(n,["name","url"])}}function v(e,t){if(!(!e||typeof e!="object"))for(let n of t)typeof e[n]=="string"&&(e[n]=h(e[n]))}function gt(e){v(e,lt)}function _t(e){let t=e.indexOf("=");if(t===-1)return e;let n=e.slice(t+1).replace(/\+/g," "),o;try{o=decodeURIComponent(n)}catch{o=Ne(n)}if(!o.startsWith("/")&&!/^https?:\/\//i.test(o))return e;let r=h(o);return r===o?e:`${e.slice(0,t)}=${encodeURIComponent(r)}`}function Et(e){let t=e.replace(/\+/g," "),n;try{n=decodeURIComponent(t)}catch{n=Ne(t)}return n.split("=",1)[0].toLowerCase()}function Ne(e){return e.replace(/%([0-9a-f]{2})/gi,(t,n)=>{let o=Number.parseInt(n,16);return o<128?String.fromCharCode(o):t})}async function rn(){if(u.posthogInstance)return u.posthogInstance;if(u.posthogInitPromise)return u.posthogInitPromise;let e=u.config;return u.posthogInitPromise=import("posthog-js").then(t=>{let n=t.default??t,o=W(Y(e),D(),e.featureFlags===!0);return n.init(e.clientKey,o),n.register({product:e.product,surface:e.surface,environment:e.environment}),D()?n.opt_in_capturing({captureEventName:!1}):n.opt_out_capturing(),u.posthogInstance=n,Oe(n),n}).catch(t=>{throw u.posthogInitPromise=null,t}),u.posthogInitPromise}function W(e,t,n=!1){return t?e:{...e,opt_out_capturing_by_default:!0,...n?{advanced_disable_feature_flags_on_first_load:!0}:{}}}function Y(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:!1},disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!(t.enabled||e.featureFlags===!0),before_send:Re};return t.enabled&&(n.session_recording={maskAllInputs:t.maskAllInputs??!0,...t.maskTextSelector?{maskTextSelector:t.maskTextSelector}:{},maskCapturedNetworkRequestFn:o=>({...o,name:h(o.name)}),recordBody:!1,recordHeaders:!1}),n}var yt=()=>import("posthog-js"),Ct=100,l={config:null,posthog:null,pending:[],failed:!1,loadPosthog:yt,startVitals:Ce,stopFollowingConsent:null};function Tt({host:e,clientKey:t,product:n,surface:o,environment:r,enabled:c=!0,sessionRecording:s,heatmaps:p=!1,captureExceptions:T=!1,webVitals:_=!1}={}){if(!E())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");let I=ee(_);!c||!e||!t||r==="Local"||l.config||(l.config={host:e,clientKey:t,product:n,surface:o,environment:r,sessionRecording:s,heatmaps:p,captureExceptions:T,webVitals:I},l.stopFollowingConsent=y(C=>ht(C.analytics)),N(()=>{Promise.resolve().then(l.loadPosthog).then(C=>St(C.default??C)).catch(()=>{l.failed=!0,l.pending=[]})}))}function St(e){let t=l.config,n=d().analytics;e.init(t.clientKey,W(It(t),n)),e.register({product:t.product,surface:t.surface,environment:t.environment}),n?e.opt_in_capturing({captureEventName:!1}):e.opt_out_capturing(),l.posthog=e;let o=l.pending;l.pending=[];for(let[r,c]of o)Q(e,r,c);t.webVitals&&l.startVitals(t.webVitals,(r,c)=>Q(e,r,c))}function ht(e){l.posthog&&(e?l.posthog.opt_in_capturing():l.posthog.opt_out_capturing())}function It(e){return{...Y({host:e.host,sessionRecording:e.sessionRecording,heatmaps:e.heatmaps,captureExceptions:e.captureExceptions,webVitals:e.webVitals}),capture_pageview:!0}}function De(e,t){let n=l.config;if(!n)return;let o={...t,product:n.product,surface:n.surface,environment:n.environment};l.posthog?Q(l.posthog,e,o):!l.failed&&l.pending.length<Ct&&l.pending.push([e,o])}function Q(e,t,n){try{e.capture(t,n)}catch{}}function wt(e,t={}){V.assertRegistered(e);let n=d().analytics,o=q(),r={...t};for(let[c,s]of[["first",o?.firstTouch],["last",o?.lastTouch]])s&&(r[`${c}_touch_channel`]=w(s),s.aiSource&&(r[`${c}_touch_ai_source`]=s.aiSource));return De(e,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:e}),!0):!1}function Ot(e){V.register(e)}var At="https://www.googletagmanager.com/gtm.js",bt=3e3,Rt=100,g={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function Nt(e={}){if(!E())throw new Error("@webority/analytics: call initConsent before loadTags.");if(g.loaded)return;g.loaded=!0;let{gtmId:t,gtmUrl:n=At,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=le();if(r){let s=()=>J("https://analytics.ahrefs.com/analytics.js",{"data-key":r});c?Le(p=>p.analytics,s):s()}if(t){let s=P(),p=Z=>Z.analytics||Z.marketing&&s,T=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),J(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},_=d(),I=_.decided&&p(_)?Dt:N,C=()=>I(T);c?Le(p,C):C()}o&&(g.clarityId=o,d().analytics&&Lt(),y(s=>{s.analytics&&!g.clarityLoaded?X():g.clarityLoaded&&ke(s)}))}function Le(e,t){if(e(d())){t();return}let n=y(o=>{e(o)&&(n(),t())})}function Dt(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function Lt(){let e=()=>{window.scrollY>Rt&&X()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(X,bt);g.cancelClaritySchedule=()=>{window.removeEventListener("scroll",e),clearTimeout(t)}}function X(){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)},ke(d()),J(`https://www.clarity.ms/tag/${encodeURIComponent(g.clarityId)}`,{crossorigin:"anonymous"}))}function ke(e){window.clarity("consentv2",{ad_Storage:e.marketing&&P()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function J(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{He as a,A as b,se as c,Be as d,ze as e,E as f,d as g,qe as h,y as i,i as j,Ht as k,V as l,u as m,jt as n,st as o,D as p,Qt as q,Xt as r,Jt as s,rn as t,f as u,w as v,x as w,et as x,q as y,Tt as z,wt as A,Ot as B,Nt as C};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{A as B,B as J,C as Q,a as F,b as N,c as U,d as V,e as W,f as y,g as j,h as K,i as m,j as a,k as _,l as C,m as n,n as O,o as s,p as i,q as D,r as L,s as z,t as c,u as G,v as q,w as H,x as M,y as Y}from"./chunk-YKGRPT5T.js";import{a as w,g as T}from"./chunk-TPTUIQE4.js";import"./chunk-O2XFH626.js";var x=null,p=new Map,X="workspace";function Z(t){if(!y())throw new Error("@webority/analytics: call initConsent before initAnalytics.");let e=w(t.webVitals);x?.(),x=m(o=>tt(o.analytics)),p.clear(),O({host:t.host,clientKey:t.clientKey,product:t.product,surface:t.surface,environment:t.environment,enabled:t.enabled??!0,logger:t.logger??null,sessionRecording:{enabled:t.sessionRecording?.enabled??!1,maskAllInputs:t.sessionRecording?.maskAllInputs??!0,maskTextSelector:t.sessionRecording?.maskTextSelector??null},heatmaps:t.heatmaps??!1,captureExceptions:t.captureExceptions??!1,webVitals:e,featureFlags:t.featureFlags===!0}),s()&&$()}function $(){let t=()=>{s()&&(A(),n.config.webVitals&&T(n.config.webVitals,v))};typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:3e3}):setTimeout(t,0)}function A(){c().catch(()=>{})}function tt(t){if(s()){if(t){n.posthogInstance?(n.posthogInstance.opt_in_capturing(),R(n.posthogInstance),k(n.posthogInstance)):c().then(e=>{R(e),e&&k(e)}).catch(()=>{});return}!n.posthogInstance&&!n.posthogInitPromise&&A(),et()}}function R(t){if(!t||!i())return;let e=n.pendingIdentify;e&&t.identify(e.publicId,e.props);for(let[o,{key:r,props:l}]of p)t.group(o,r,l)}function k(t){n.config?.featureFlags===!0&&i()&&t.reloadFeatureFlags?.()}function et(){if(n.posthogInstance){n.posthogInstance.opt_out_capturing();return}n.posthogInitPromise&&n.posthogInitPromise.then(t=>{i()||t?.opt_out_capturing()}).catch(()=>{})}function nt(t,e={}){if(!s()){h("identify",{publicId:t,...e});return}n.pendingIdentify={publicId:t,props:e},i()&&c().then(o=>{!o||!i()||o.identify(t,e)}).catch(()=>{})}function ot(t,e,o={}){if(typeof t!="string"||!t||typeof e!="string"||!e){n.config?.logger?.warn?.("@webority/analytics: group needs a type and a PublicId string, so it was dropped.");return}if(!s()){h("group",{type:t,key:e,...o});return}p.set(t,{key:e,props:o}),i()&&c().then(r=>{!r||!i()||r.group(t,e,o)}).catch(()=>{})}function rt(){n.pendingIdentify=null,p.clear(),n.posthogInstance&&n.posthogInstance.reset()}function u(t,e={}){C.accept(t,n.config?.logger)&&v(t,e)}function v(t,e){if(!s()){h(t,e);return}let o={...e,product:n.config.product,surface:n.config.surface,environment:n.config.environment};c().then(r=>{r?.capture(t,o)}).catch(()=>{})}function h(t,e){n.config?.environment==="Local"&&n.config.logger?.info(t,e)}function it(){if(typeof document>"u")return()=>{};for(let[t,e]of Object.entries(P))document.addEventListener(t,e);return()=>{for(let[t,e]of Object.entries(P))document.removeEventListener(t,e)}}function st(t){d(a.TOUR_STARTED,t,{step_count:f(t.detail?.total)})}function at(t){d(a.TOUR_STEP_VIEWED,t,{step_position:f(t.detail?.position),step_count:f(t.detail?.total)})}function ct(t){let e=t.detail,o={step_position:f(e?.position),step_count:f(e?.total)};e?.reason==="finished"?d(a.TOUR_COMPLETED,t,o):e?.reason==="skipped"&&d(a.TOUR_SKIPPED,t,{...o,via:E(e.via)})}var P={"wui-tour:start":st,"wui-tour:step":at,"wui-tour:close":ct};function d(t,e,o){let r=e.target,l=E(r?.getAttribute?.("tour-id"));if(!l)return;let g={tour_id:l},I=E(r.getAttribute("trigger"));I&&(g.trigger=I);for(let[S,b]of Object.entries(o))b!==void 0&&(g[S]=b);u(t,g)}function f(t){return Number.isInteger(t)&&t>=0?t:void 0}function E(t){return typeof t=="string"&&t!==""?t:void 0}var ut=Object.freeze(Object.fromEntries(Object.entries(_).map(([t,e])=>[t,(o={})=>u(e,o)])));export{U as CONSENT_CHANGE_EVENT,N as CONSENT_COOKIE_NAME,X as WORKSPACE_GROUP_TYPE,M as captureAttribution,G as channels,a as events,Y as getAttribution,j as getConsent,L as getFeatureFlag,ot as group,nt as identify,Z as initAnalytics,V as initConsent,D as isFeatureEnabled,Q as loadTags,m as onConsentChange,z as onFeatureFlags,J as registerEvents,F as requiresOptIn,rt as resetIdentity,H as resolveAiSource,q as resolveChannel,K as saveConsent,W as setConsentRegion,ut as track,u as trackEvent,B as trackSiteEvent,it as trackTours};
1
+ import{A as B,B as J,C as Q,a as F,b as N,c as U,d as V,e as W,f as y,g as j,h as K,i as m,j as a,k as _,l as C,m as n,n as O,o as s,p as i,q as D,r as L,s as z,t as c,u as G,v as q,w as H,x as M,y as Y}from"./chunk-BXYJOYLR.js";import{a as w,g as T}from"./chunk-TPTUIQE4.js";import"./chunk-O2XFH626.js";var x=null,p=new Map,X="workspace";function Z(t){if(!y())throw new Error("@webority/analytics: call initConsent before initAnalytics.");let e=w(t.webVitals);x?.(),x=m(r=>tt(r.analytics)),p.clear(),O({host:t.host,clientKey:t.clientKey,product:t.product,surface:t.surface,environment:t.environment,enabled:t.enabled??!0,logger:t.logger??null,sessionRecording:{enabled:t.sessionRecording?.enabled??!1,maskAllInputs:t.sessionRecording?.maskAllInputs??!0,maskTextSelector:t.sessionRecording?.maskTextSelector??null},heatmaps:t.heatmaps??!1,captureExceptions:t.captureExceptions??!1,webVitals:e,featureFlags:t.featureFlags===!0}),s()&&$()}function $(){let t=()=>{s()&&(A(),n.config.webVitals&&T(n.config.webVitals,v))};typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:3e3}):setTimeout(t,0)}function A(){c().catch(()=>{})}function tt(t){if(s()){if(t){n.posthogInstance?(n.posthogInstance.opt_in_capturing(),R(n.posthogInstance),k(n.posthogInstance)):c().then(e=>{R(e),e&&k(e)}).catch(()=>{});return}!n.posthogInstance&&!n.posthogInitPromise&&A(),et()}}function R(t){if(!t||!i())return;let e=n.pendingIdentify;e&&t.identify(e.publicId,e.props);for(let[r,{key:o,props:l}]of p)t.group(r,o,l)}function k(t){n.config?.featureFlags===!0&&i()&&t.reloadFeatureFlags?.()}function et(){if(n.posthogInstance){n.posthogInstance.opt_out_capturing();return}n.posthogInitPromise&&n.posthogInitPromise.then(t=>{i()||t?.opt_out_capturing()}).catch(()=>{})}function nt(t,e={}){if(!s()){h("identify",{publicId:t,...e});return}n.pendingIdentify={publicId:t,props:e},i()&&c().then(r=>{!r||!i()||r.identify(t,e)}).catch(()=>{})}function rt(t,e,r={}){if(typeof t!="string"||!t||typeof e!="string"||!e)throw new Error("@webority/analytics: group needs a type and a PublicId string.");if(!s()){h("group",{type:t,key:e,...r});return}p.set(t,{key:e,props:r}),i()&&c().then(o=>{!o||!i()||o.group(t,e,r)}).catch(()=>{})}function ot(){n.pendingIdentify=null,p.clear(),n.posthogInstance&&n.posthogInstance.reset()}function u(t,e={}){C.assertRegistered(t),v(t,e)}function v(t,e){if(!s()){h(t,e);return}let r={...e,product:n.config.product,surface:n.config.surface,environment:n.config.environment};c().then(o=>{o?.capture(t,r)}).catch(()=>{})}function h(t,e){n.config?.environment==="Local"&&n.config.logger?.info(t,e)}function it(){if(typeof document>"u")return()=>{};for(let[t,e]of Object.entries(P))document.addEventListener(t,e);return()=>{for(let[t,e]of Object.entries(P))document.removeEventListener(t,e)}}function st(t){d(a.TOUR_STARTED,t,{step_count:f(t.detail?.total)})}function at(t){d(a.TOUR_STEP_VIEWED,t,{step_position:f(t.detail?.position),step_count:f(t.detail?.total)})}function ct(t){let e=t.detail,r={step_position:f(e?.position),step_count:f(e?.total)};e?.reason==="finished"?d(a.TOUR_COMPLETED,t,r):e?.reason==="skipped"&&d(a.TOUR_SKIPPED,t,{...r,via:E(e.via)})}var P={"wui-tour:start":st,"wui-tour:step":at,"wui-tour:close":ct};function d(t,e,r){let o=e.target,l=E(o?.getAttribute?.("tour-id"));if(!l)return;let g={tour_id:l},I=E(o.getAttribute("trigger"));I&&(g.trigger=I);for(let[S,b]of Object.entries(r))b!==void 0&&(g[S]=b);u(t,g)}function f(t){return Number.isInteger(t)&&t>=0?t:void 0}function E(t){return typeof t=="string"&&t!==""?t:void 0}var ut=Object.freeze(Object.fromEntries(Object.entries(_).map(([t,e])=>[t,(r={})=>u(e,r)])));export{U as CONSENT_CHANGE_EVENT,N as CONSENT_COOKIE_NAME,X as WORKSPACE_GROUP_TYPE,M as captureAttribution,G as channels,a as events,Y as getAttribution,j as getConsent,L as getFeatureFlag,rt as group,nt as identify,Z as initAnalytics,V as initConsent,D as isFeatureEnabled,Q as loadTags,m as onConsentChange,z as onFeatureFlags,J as registerEvents,F as requiresOptIn,ot as resetIdentity,H as resolveAiSource,q as resolveChannel,K as saveConsent,W as setConsentRegion,ut as track,u as trackEvent,B as trackSiteEvent,it as trackTours};
@@ -1 +1 @@
1
- var o=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",LEAD_WON:"lead_won",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",EMAIL_CLICK:"email_click",PAGE_NOT_FOUND:"page_not_found",CHAT_OPENED:"chat_opened",CHAT_STARTED:"chat_started",CHAT_INPUT_SUBMITTED:"chat_input_submitted",CHAT_HANDOFF_REQUESTED:"chat_handoff_requested",CHAT_RATED:"chat_rated",CHAT_ACTION_REPEATED:"chat_action_repeated",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),B=Object.freeze({signupStarted:o.SIGNUP_STARTED,signupCompleted:o.SIGNUP_COMPLETED,loginSucceeded:o.LOGIN_SUCCEEDED,onboardingStarted:o.ONBOARDING_STARTED,onboardingStepCompleted:o.ONBOARDING_STEP_COMPLETED,onboardingCompleted:o.ONBOARDING_COMPLETED,subscriptionActivated:o.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:o.SUBSCRIPTION_CANCELLED,paymentSucceeded:o.PAYMENT_SUCCEEDED,paymentFailed:o.PAYMENT_FAILED,feedbackSubmitted:o.FEEDBACK_SUBMITTED,leadSubmitted:o.LEAD_SUBMITTED,leadQualified:o.LEAD_QUALIFIED,leadWon:o.LEAD_WON,whatsappClick:o.WHATSAPP_CLICK,calculatorUse:o.CALCULATOR_USE,phoneClick:o.PHONE_CLICK,demoBooked:o.DEMO_BOOKED,contactSubmitted:o.CONTACT_SUBMITTED,trialStartClick:o.TRIAL_START_CLICK,sampleReportDownload:o.SAMPLE_REPORT_DOWNLOAD,reportVerified:o.REPORT_VERIFIED,contentEngaged:o.CONTENT_ENGAGED,emailClick:o.EMAIL_CLICK,pageNotFound:o.PAGE_NOT_FOUND,chatOpened:o.CHAT_OPENED,chatStarted:o.CHAT_STARTED,chatInputSubmitted:o.CHAT_INPUT_SUBMITTED,chatHandoffRequested:o.CHAT_HANDOFF_REQUESTED,chatRated:o.CHAT_RATED,chatActionRepeated:o.CHAT_ACTION_REPEATED,tourStarted:o.TOUR_STARTED,tourStepViewed:o.TOUR_STEP_VIEWED,tourCompleted:o.TOUR_COMPLETED,tourSkipped:o.TOUR_SKIPPED}),S=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;var b=50;function N(){let e=new Set(Object.values(o)),t=new Set;return{warned:t,register(r){for(let i of r){if(!S.test(i))throw new Error(`@webority/analytics: invalid event name "${i}". Expected snake_case.`);e.add(i)}},accept(r,i){return e.has(r)?!0:(v(t,r,i),!1)}}}function v(e,t,r){if(e.has(t))return;e.size<b&&e.add(t);let i=`@webority/analytics: event "${t}" is not registered, so it was dropped. Call registerEvents() first.`;if(typeof r?.warn=="function"){r.warn(i);return}if(typeof r?.info=="function"){r.info(i);return}console.warn(i)}var _=null;function F(e){_=e}async function P(){if(_)return _.PostHog??null;try{let e=await import("posthog-react-native");return e.PostHog??e.default?.PostHog??e.default??null}catch{return null}}function R(e){return{host:e.host,defaultOptIn:!1,personProfiles:"identified_only",captureAppLifecycleEvents:!1,enableSessionReplay:!1,preloadFeatureFlags:!1,disableRemoteFeatureFlags:e.featureFlags!==!0,disableSurveys:!0}}var g="webority_analytics_consent",U=["eea","other"],Q="workspace",n={config:null,initPromise:null,posthog:null,requiresOptIn:!0,region:null,saved:null,pendingIdentify:null,pendingGroups:new Map,flagsLoaded:!1,failureReported:!1},T=N(),E=new Set,f=new Set;function $(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,featureFlags:e?.featureFlags===!0},n.requiresOptIn=e?.requiresOptIn!==!1,n.initPromise=M(t).catch(s),n.initPromise}async function M(e){let t=w(),r=n.saved,i=await G(t);r&&t?await a(()=>t.setItem(g,JSON.stringify(r))):!n.saved&&i&&(n.saved=i);let u=l();if((e.analytics!==u.analytics||e.decided!==u.decided)&&C(u),!d())return;let I=await P();if(!I){s(new Error("@webority/analytics: posthog-react-native is not installed, so nothing is sent."));return}let p=new I(n.config.clientKey,R(n.config));await p.ready?.(),await p.register(O()),n.posthog=p,x(p),await A(c())}function j(e){if(!U.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=l();n.region=e;let r=l();t.analytics!==r.analytics&&(A(r.analytics),C(r))}async function J(e){let t={analytics:e===!0,savedAtUtc:new Date().toISOString()};n.saved=t,A(t.analytics),C(l());let r=w();r&&await a(()=>r.setItem(g,JSON.stringify(t)))}function l(){return n.saved?{analytics:n.saved.analytics,decided:!0}:{analytics:!n.requiresOptIn||n.region==="other",decided:!1}}function X(e){return E.add(e),()=>E.delete(e)}function Z(e,t={}){if(n.config&&!d()){D("identify",{publicId:e,...t});return}n.pendingIdentify={publicId:e,props:t},n.posthog&&c()&&a(()=>n.posthog.identify(e,t))}function ee(e,t,r={}){if(typeof e!="string"||!e||typeof t!="string"||!t){L("@webority/analytics: group needs a type and a PublicId string, so it was dropped.");return}if(n.config&&!d()){D("group",{type:e,key:t,...r});return}n.pendingGroups.set(e,{key:t,props:r}),n.posthog&&c()&&a(()=>n.posthog.group(e,t,r))}function te(e){let t=y();if(!t)return!1;try{return t.isFeatureEnabled(e)===!0}catch(r){return s(r),!1}}function ne(e){let t=y();if(!t)return null;try{return t.getFeatureFlag(e)??null}catch(r){return s(r),null}}function re(e){return f.add(e),(!y()||n.flagsLoaded)&&queueMicrotask(()=>{f.has(e)&&m(e)}),()=>f.delete(e)}function oe(){n.pendingIdentify=null,n.pendingGroups.clear();let e=n.posthog;e&&a(async()=>{e.reset(),await e.register(O()),c()?await e.optIn():await e.optOut()})}function ie(e){T.register(e)}function ae(e,t={}){T.accept(e,n.config?.logger)&&h(e,t,(r,i)=>r.capture(e,i))}function se(e,t={}){h(e,t,(r,i)=>r.screen(e,i))}function h(e,t,r){if(!d()){D(e,t);return}if(!c())return;let i={...t,...O()};if(n.posthog){a(()=>r(n.posthog,i));return}n.initPromise?.then(()=>{n.posthog&&c()&&a(()=>r(n.posthog,i))})}function A(e){let t=n.posthog;return t?a(async()=>{if(!e){await t.optOut();return}await t.optIn(),H(t),n.config.featureFlags&&await t.reloadFeatureFlagsAsync?.()}):Promise.resolve()}function x(e){!n.config.featureFlags||typeof e.onFeatureFlags!="function"||a(()=>e.onFeatureFlags(()=>{n.flagsLoaded=!0;for(let t of[...f])m(t)}))}function y(){return!n.config?.featureFlags||!d()||!c()?null:n.posthog}function m(e){try{e()}catch(t){L(`@webority/analytics: a feature flag listener threw: ${t?.message??t}`)}}function H(e){if(!c())return;let t=n.pendingIdentify;t&&e.identify(t.publicId,t.props);for(let[r,{key:i,props:u}]of n.pendingGroups)e.group(r,i,u)}function w(){let e=n.config?.storage??null;return n.config&&!e&&s(new Error("@webority/analytics: no storage was passed to initMobileAnalytics, so the choice lasts until the app closes.")),e}async function G(e){if(!e)return null;try{let t=await e.getItem(g);if(!t)return null;let r=JSON.parse(t);return typeof r?.analytics!="boolean"?null:{analytics:r.analytics,savedAtUtc:typeof r.savedAtUtc=="string"?r.savedAtUtc:null}}catch(t){return s(t),null}}function C(e){for(let t of E)try{t(e)}catch(r){s(r)}}function d(){let e=n.config;return!!(e?.enabled&&e.clientKey&&e.host&&e.environment!=="Local")}function c(){return l().analytics}function O(){return{product:n.config.product,surface:n.config.surface,environment:n.config.environment}}function a(e){try{return Promise.resolve(e()).then(void 0,s)}catch(t){return s(t),Promise.resolve()}}function s(e){if(n.failureReported||(n.failureReported=!0,globalThis.__DEV__!==!0))return;let t=n.config?.logger,r=typeof t?.warn=="function"?t.warn:t?.info;if(typeof r=="function")try{r.call(t,`@webority/analytics: ${e?.message??e}`)}catch{}}function L(e){let t=n.config?.logger,r=typeof t?.warn=="function"?t.warn:t?.info;if(typeof r=="function")try{r.call(t,e)}catch{}}function D(e,t){n.config?.environment==="Local"&&n.config.logger?.info(e,t)}function ce(){n.config=null,n.initPromise=null,n.posthog=null,n.requiresOptIn=!0,n.region=null,n.saved=null,n.pendingIdentify=null,n.pendingGroups.clear(),n.flagsLoaded=!1,n.failureReported=!1,T.warned.clear(),E.clear(),f.clear()}export{g as CONSENT_STORAGE_KEY,Q as WORKSPACE_GROUP_TYPE,ce as __resetForTests,F as __setNativeModulesForTests,o as events,l as getAnalyticsConsent,ne as getFeatureFlag,ee as group,Z as identify,$ as initMobileAnalytics,te as isFeatureEnabled,X as onAnalyticsConsentChange,re as onFeatureFlags,ie as registerEvents,oe as resetIdentity,J as setAnalyticsConsent,j as setConsentRegion,ae as trackEvent,se as trackScreen};
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",LEAD_WON:"lead_won",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",EMAIL_CLICK:"email_click",PAGE_NOT_FOUND:"page_not_found",CHAT_OPENED:"chat_opened",CHAT_STARTED:"chat_started",CHAT_INPUT_SUBMITTED:"chat_input_submitted",CHAT_HANDOFF_REQUESTED:"chat_handoff_requested",CHAT_RATED:"chat_rated",CHAT_ACTION_REPEATED:"chat_action_repeated",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),V=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,leadWon:r.LEAD_WON,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,contentEngaged:r.CONTENT_ENGAGED,emailClick:r.EMAIL_CLICK,pageNotFound:r.PAGE_NOT_FOUND,chatOpened:r.CHAT_OPENED,chatStarted:r.CHAT_STARTED,chatInputSubmitted:r.CHAT_INPUT_SUBMITTED,chatHandoffRequested:r.CHAT_HANDOFF_REQUESTED,chatRated:r.CHAT_RATED,chatActionRepeated:r.CHAT_ACTION_REPEATED,tourStarted:r.TOUR_STARTED,tourStepViewed:r.TOUR_STEP_VIEWED,tourCompleted:r.TOUR_COMPLETED,tourSkipped:r.TOUR_SKIPPED}),h=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;function P(){let e=new Set(Object.values(r));return{register(t){for(let o of t){if(!h.test(o))throw new Error(`@webority/analytics: invalid event name "${o}". Expected snake_case.`);e.add(o)}},assertRegistered(t){if(!e.has(t))throw new Error(`@webority/analytics: event "${t}" is not registered. Call registerEvents() first.`)}}}var T=null;function v(e){T=e}async function N(){if(T)return T.PostHog??null;try{let e=await import("posthog-react-native");return e.PostHog??e.default?.PostHog??e.default??null}catch(e){if(M(e))return null;throw e}}var F=/Unable to resolve module [`'"]?posthog-react-native[`'"]?(\s|$)|Cannot find (module|package) [`'"]posthog-react-native[`'"]/;function M(e){return F.test(e?.message??"")}function R(e){return{host:e.host,defaultOptIn:!1,personProfiles:"identified_only",captureAppLifecycleEvents:!1,enableSessionReplay:!1,preloadFeatureFlags:!1,disableRemoteFeatureFlags:e.featureFlags!==!0,disableSurveys:!0}}var A="webority_analytics_consent",x=["eea","other"],J="workspace",n={config:null,initPromise:null,posthog:null,requiresOptIn:!0,region:null,saved:null,pendingIdentify:null,pendingGroups:new Map,flagsLoaded:!1,failureReported:!1,consentUnreadable:!1},m=P(),E=new Set,d=new Set;function X(e){if(n.initPromise)return n.initPromise;let t=u();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,featureFlags:e?.featureFlags===!0},n.requiresOptIn=e?.requiresOptIn!==!1,n.initPromise=H(t).catch(f),n.initPromise}async function H(e){let t=L(),o=n.saved,a=await K(t);o&&t?await i(()=>t.setItem(A,JSON.stringify(o))):!n.saved&&a&&(n.saved=a);let l=u();if((e.analytics!==l.analytics||e.decided!==l.decided)&&D(l),!g())return;let _;try{_=await N()}catch(U){c(U);return}if(!_){f(new Error("@webority/analytics: posthog-react-native is not installed, so nothing is sent."));return}let p=new _(n.config.clientKey,R(n.config));await p.ready?.(),await p.register(I()),n.posthog=p,G(p),await y(s())}function Z(e){if(!x.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=u();n.region=e;let o=u();t.analytics!==o.analytics&&(y(o.analytics),D(o))}async function ee(e){let t={analytics:e===!0,savedAtUtc:new Date().toISOString()};n.saved=t,y(t.analytics),D(u());let o=L();o&&await i(()=>o.setItem(A,JSON.stringify(t)))}function u(){return n.saved?{analytics:n.saved.analytics,decided:!0}:n.consentUnreadable?{analytics:!1,decided:!1}:{analytics:!n.requiresOptIn||n.region==="other",decided:!1}}function te(e){return E.add(e),()=>E.delete(e)}function ne(e,t={}){if(n.config&&!g()){S("identify",{publicId:e,...t});return}n.pendingIdentify={publicId:e,props:t},n.posthog&&s()&&i(()=>n.posthog.identify(e,t))}function oe(e,t,o={}){if(typeof e!="string"||!e||typeof t!="string"||!t)throw new Error("@webority/analytics: group needs a type and a PublicId string.");if(n.config&&!g()){S("group",{type:e,key:t,...o});return}n.pendingGroups.set(e,{key:t,props:o}),n.posthog&&s()&&i(()=>n.posthog.group(e,t,o))}function re(e){let t=C();if(!t)return!1;try{return t.isFeatureEnabled(e)===!0}catch(o){return O(`feature flag "${e}" could not be read, so it reads as off`,o),c(o),!1}}function ae(e){let t=C();if(!t)return null;try{return t.getFeatureFlag(e)??null}catch(o){return O(`feature flag "${e}" could not be read, so it reads as null`,o),c(o),null}}function ie(e){return d.add(e),(!C()||n.flagsLoaded)&&queueMicrotask(()=>{d.has(e)&&w(e)}),()=>d.delete(e)}function se(){n.pendingIdentify=null,n.pendingGroups.clear();let e=n.posthog;e&&i(async()=>{e.reset(),await e.register(I()),s()?await e.optIn():await e.optOut()})}function ce(e){m.register(e)}function le(e,t={}){m.assertRegistered(e),b(e,t,(o,a)=>o.capture(e,a))}function ue(e,t={}){b(e,t,(o,a)=>o.screen(e,a))}function b(e,t,o){if(!g()){S(e,t);return}if(!s())return;let a={...t,...I()};if(n.posthog){i(()=>o(n.posthog,a));return}n.initPromise?.then(()=>{n.posthog&&s()&&i(()=>o(n.posthog,a))})}function y(e){let t=n.posthog;return t?i(async()=>{if(!e){await t.optOut();return}await t.optIn(),B(t),n.config.featureFlags&&await t.reloadFeatureFlagsAsync?.()}):Promise.resolve()}function G(e){!n.config.featureFlags||typeof e.onFeatureFlags!="function"||i(()=>e.onFeatureFlags(()=>{n.flagsLoaded=!0;for(let t of[...d])w(t)}))}function C(){return!n.config?.featureFlags||!g()||!s()?null:n.posthog}function w(e){try{e()}catch(t){c(t)}}function B(e){if(!s())return;let t=n.pendingIdentify;t&&e.identify(t.publicId,t.props);for(let[o,{key:a,props:l}]of n.pendingGroups)e.group(o,a,l)}function L(){let e=n.config?.storage??null;return n.config&&!e&&f(new Error("@webority/analytics: no storage was passed to initMobileAnalytics, so the choice lasts until the app closes.")),e}async function K(e){if(!e)return null;try{let t=await e.getItem(A);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 n.consentUnreadable=!0,k(t),null}}function k(e){O("the stored consent choice could not be read, so analytics stays off",e)||c(e)}function O(e,t){let o=n.config?.logger,a=typeof o?.warn=="function"?o.warn:o?.info;if(typeof a!="function")return!1;try{a.call(o,`@webority/analytics: ${e}: ${t?.message??t}`)}catch(l){c(l)}return!0}function D(e){for(let t of E)try{t(e)}catch(o){c(o)}}function g(){let e=n.config;return!!(e?.enabled&&e.clientKey&&e.host&&e.environment!=="Local")}function s(){return u().analytics}function I(){return{product:n.config.product,surface:n.config.surface,environment:n.config.environment}}function i(e){try{return Promise.resolve(e()).then(void 0,f)}catch(t){return f(t),Promise.resolve()}}function f(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(a){c(a)}}function c(e){queueMicrotask(()=>{throw e})}function S(e,t){n.config?.environment==="Local"&&n.config.logger?.info(e,t)}function de(){n.config=null,n.initPromise=null,n.posthog=null,n.requiresOptIn=!0,n.region=null,n.saved=null,n.pendingIdentify=null,n.pendingGroups.clear(),n.flagsLoaded=!1,n.failureReported=!1,n.consentUnreadable=!1,E.clear(),d.clear()}export{A as CONSENT_STORAGE_KEY,J as WORKSPACE_GROUP_TYPE,de as __resetForTests,v as __setNativeModulesForTests,r as events,u as getAnalyticsConsent,ae as getFeatureFlag,oe as group,ne as identify,X as initMobileAnalytics,re as isFeatureEnabled,te as onAnalyticsConsentChange,ie as onFeatureFlags,ce as registerEvents,se as resetIdentity,ee as setAnalyticsConsent,Z as setConsentRegion,le as trackEvent,ue as trackScreen};
package/dist/site.js CHANGED
@@ -1 +1 @@
1
- import{A as p,B as q,C as r,a,b,c,d,e,g as f,h as g,i as h,j as i,u as j,v as k,w as l,x as m,y as n,z as o}from"./chunk-YKGRPT5T.js";import"./chunk-TPTUIQE4.js";import"./chunk-O2XFH626.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,r as loadTags,h as onConsentChange,q as registerEvents,a as requiresOptIn,l as resolveAiSource,k as resolveChannel,g as saveConsent,e as setConsentRegion,p as trackSiteEvent};
1
+ import{A as p,B as q,C as r,a,b,c,d,e,g as f,h as g,i as h,j as i,u as j,v as k,w as l,x as m,y as n,z as o}from"./chunk-BXYJOYLR.js";import"./chunk-TPTUIQE4.js";import"./chunk-O2XFH626.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,r as loadTags,h as onConsentChange,q as registerEvents,a as requiresOptIn,l as resolveAiSource,k as resolveChannel,g as saveConsent,e as setConsentRegion,p as trackSiteEvent};
@@ -1 +1 @@
1
- var WeborityAnalytics=(()=>{var v=Object.defineProperty;var Me=Object.getOwnPropertyDescriptor;var Fe=Object.getOwnPropertyNames;var $e=Object.prototype.hasOwnProperty;var Ve=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(o){throw n=[o],o}};var Y=(e,t)=>{for(var n in t)v(e,n,{get:t[n],enumerable:!0})},Ge=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Fe(t))!$e.call(e,r)&&r!==n&&v(e,r,{get:()=>t[r],enumerable:!(o=Me(t,r))||o.enumerable});return e};var He=e=>Ge(v({},"__esModule",{value:!0}),e);var Re={};Y(Re,{default:()=>At});function Ot(){let e=[];e._i=[],e.__SV=1,e.people=[];for(let t of Oe)e[t]=(...n)=>{e.push([t,...n])};e.init=(t,n)=>{e._i.push([t,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=e}var Oe,Ae,At,Ne=Ve(()=>{Oe=["capture","register","opt_in_capturing","opt_out_capturing"];Ae={init(e,t){window.posthog||Ot(),window.posthog.init(e,t)}};for(let e of Oe)Ae[e]=(...t)=>window.posthog[e](...t);At=Ae});var Ft={};Y(Ft,{CONSENT_CHANGE_EVENT:()=>x,CONSENT_COOKIE_NAME:()=>I,captureAttribution:()=>_e,channels:()=>u,events:()=>i,getAttribution:()=>N,getConsent:()=>d,initConsent:()=>ie,initSiteAnalytics:()=>De,loadTags:()=>Pe,onConsentChange:()=>g,registerEvents:()=>ve,requiresOptIn:()=>te,resolveAiSource:()=>O,resolveChannel:()=>h,saveConsent:()=>ce,setConsentRegion:()=>ae,trackSiteEvent:()=>ke});var Be=["google","googleads","adwords","youtube"],ze=["meta","facebook","fb","instagram","ig","messenger"],qe=["linkedin","lnkd"],Ke=["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"]]]),We=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],je=["google","yandex"],Ye=["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 h(e){if(!e)return u.DIRECT;let t=p(e.utmSource);if(t){let r=b(t);if(Be.includes(r))return u.GOOGLE;if(ze.includes(r))return u.META;if(qe.includes(r))return u.LINKEDIN;if(Ke.includes(r))return u.MICROSOFT}if(p(e.fbclid))return u.META;if(p(e.gclid)||p(e.gbraid)||p(e.wbraid))return u.GOOGLE;if(p(e.liFatId))return u.LINKEDIN;if(p(e.msclkid))return u.MICROSOFT;if(X(t))return u.AI_ASSISTANT;if(t||p(e.utmMedium)||p(e.utmCampaign)||p(e.utmContent)||p(e.utmTerm))return u.OTHER;let o=ee(e.referrer);return o?J(o)?u.AI_ASSISTANT:Qe(o)?u.ORGANIC_SEARCH:Ye.some(r=>Z(o,r))?u.ORGANIC_SOCIAL:u.REFERRAL:u.DIRECT}function O(e){if(!e)return"";let t=X(p(e.utmSource));if(t)return t;let n=ee(e.referrer);return n?J(n):""}function X(e){if(!e)return"";let t=b(e);for(let[n,o]of Q)if(b(n)===t||o.some(r=>b(r)===t))return n;return""}function J(e){for(let[t,n]of Q)if(n.some(o=>Z(e,o)))return t;return""}function Qe(e){return We.includes(e)?!0:je.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 Z(e,t){return e===t||e.endsWith(`.${t}`)}function ee(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 b(e){return String(e).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function p(e){return String(e??"").trim()}var U=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:U.includes(t)}var I="webority_cookie_consent",x="webority-consent-change",oe=365,a={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:oe,cookieDomain:null,regionCookie:null,region:null,saved:null},re=["eea","other"],P=new Set;function ie(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.');a.initialized=!0,a.strictOptIn=t,a.requiresOptIn=t||e.requiresOptIn,a.adStorage=e.adStorage??!t,a.cookieDays=e.cookieDays??oe,a.cookieDomain=e.cookieDomain?.trim()??null,a.regionCookie=e.regionCookie??null,a.region=a.regionCookie?et(a.regionCookie):null;let{saved:n,entryCount:o}=Ze();a.saved=n,a.cookieDomain&&o>1&&n&&fe(n),Xe(),Je(),a.saved?$(a.saved):ue()&&de()}function ae(e){if(F("setConsentRegion"),!re.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=d();if(a.region=e,a.saved)return;let n=d();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(de(),le(n))}function C(){return a.initialized}function se(){return a.strictOptIn}function M(){return a.adStorage}function d(){F("getConsent");let e=a.saved;if(e)return{essential:!0,analytics:e.analytics,functional:e.functional,marketing:e.marketing,decided:!0};if(ue())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let t=!a.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function ce(e){F("saveConsent");let t={essential:!0,analytics:e?.analytics===!0,functional:e?.functional===!0,marketing:e?.marketing===!0,timestamp:new Date().toISOString()};fe(t),a.saved=t,$(t),le(d())}function g(e){return P.add(e),()=>P.delete(e)}function le(e){for(let t of P)try{t(e)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(x,{detail:e}))}function F(e){if(!a.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function T(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function Xe(){if(a.strictOptIn){T("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}T("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:[...U]});let e=a.adStorage?"granted":"denied";T("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 Je(){T("set","ads_data_redaction",!0),T("set","url_passthrough",!0)}function ue(){return a.requiresOptIn&&!a.strictOptIn&&a.region==="other"}function de(){let e=d();$(e,e.analytics&&a.adStorage)}function $(e,t=e.marketing&&a.adStorage){let n=o=>o?"granted":"denied";T("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 Ze(){let e=`${I}=`,t=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(e)),n=t.map(o=>tt(o.slice(e.length))).filter(Boolean);return{saved:nt(n),entryCount:t.length}}function et(e){let t=`${e}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(t))?.slice(t.length);return re.includes(o)?o:null}function tt(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 nt(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 fe(e){let t=typeof e.timestamp=="string"?Date.parse(e.timestamp):Number.NaN,n=(Number.isNaN(t)?Date.now():t)+a.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";a.cookieDomain&&ne(`${I}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=a.cookieDomain?`;domain=${a.cookieDomain}`:"";ne(`${I}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function ne(e){document.cookie=e}var R="webority_attribution",ot=2160*60*60*1e3,rt=200,V=500,it=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"}),pe=!1;function _e(){ye("captureAttribution"),lt();let e=st();if(!e)return;let t=z(G());ge(G(),{firstTouch:t?.firstTouch??e,lastTouch:e}),at(e)}function at(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 N(){return ye("getAttribution"),z(G())}function st(){let e=new URLSearchParams(window.location.search),t={};for(let[r,s]of Object.entries(it)){let c=A(e.get(r),rt);c&&(t[s]=c)}let n=A(e.get("referrer"),V)||ct();if(n&&(t.referrer=n),Object.keys(t).length===0)return null;let o=O(t);return o&&(t.aiSource=o),t.landingPage=A(window.location.pathname,V),t.capturedDateTimeUtc=new Date().toISOString(),t}function ct(){let e=document.referrer;if(!e)return"";try{return new URL(e).hostname===window.location.hostname?"":A(e,V)}catch{return""}}function lt(){pe||(pe=!0,g(e=>{let t=e.marketing?B():H(),n=e.marketing?H():B(),o=z(t);ut(t),o&&ge(n,o)}))}function G(){return d().marketing?H():B()}function H(){try{return window.localStorage}catch{return null}}function B(){try{return window.sessionStorage}catch{return null}}function z(e){try{let t=e?.getItem(R);if(!t)return null;let n=JSON.parse(t),o=me(n?.firstTouch),r=me(n?.lastTouch);return!o&&!r?(e.removeItem(R),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function ge(e,t){try{e?.setItem(R,JSON.stringify(t))}catch{}}function ut(e){try{e?.removeItem(R)}catch{}}function me(e){if(!e||typeof e!="object")return null;let t=Date.parse(e.capturedDateTimeUtc);return Number.isFinite(t)&&Date.now()-t<=ot?e:null}function A(e,t){let n=String(e??"").trim();return n?n.slice(0,t):""}function ye(e){if(!C())throw new Error(`@webority/analytics: call initConsent before ${e}.`)}var dt="webority-analytics-web-vitals.global.js",ft=globalThis.document?.currentScript?.src||null;function Ee(e,t,{base:n=ft,doc:o=globalThis.document}={}){return!n||!o?.head?Promise.resolve():new Promise(r=>{let s=o.createElement("script");s.async=!0,s.src=new URL(dt,n).href,s.onload=()=>r(globalThis.WeborityAnalyticsWebVitals?.startWebVitals(e,t)),s.onerror=()=>r(),o.head.appendChild(s)})}var pt=["scroll","mousemove","touchstart","keydown","pointerdown"];function D(e){let t=!1,n=()=>{t||(t=!0,e())};for(let o of pt)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,1500):window.addEventListener("load",()=>setTimeout(n,1500),{once:!0})}var i=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",LEAD_WON:"lead_won",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",EMAIL_CLICK:"email_click",PAGE_NOT_FOUND:"page_not_found",CHAT_OPENED:"chat_opened",CHAT_STARTED:"chat_started",CHAT_INPUT_SUBMITTED:"chat_input_submitted",CHAT_HANDOFF_REQUESTED:"chat_handoff_requested",CHAT_RATED:"chat_rated",CHAT_ACTION_REPEATED:"chat_action_repeated",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),Yt=Object.freeze({signupStarted:i.SIGNUP_STARTED,signupCompleted:i.SIGNUP_COMPLETED,loginSucceeded:i.LOGIN_SUCCEEDED,onboardingStarted:i.ONBOARDING_STARTED,onboardingStepCompleted:i.ONBOARDING_STEP_COMPLETED,onboardingCompleted:i.ONBOARDING_COMPLETED,subscriptionActivated:i.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:i.SUBSCRIPTION_CANCELLED,paymentSucceeded:i.PAYMENT_SUCCEEDED,paymentFailed:i.PAYMENT_FAILED,feedbackSubmitted:i.FEEDBACK_SUBMITTED,leadSubmitted:i.LEAD_SUBMITTED,leadQualified:i.LEAD_QUALIFIED,leadWon:i.LEAD_WON,whatsappClick:i.WHATSAPP_CLICK,calculatorUse:i.CALCULATOR_USE,phoneClick:i.PHONE_CLICK,demoBooked:i.DEMO_BOOKED,contactSubmitted:i.CONTACT_SUBMITTED,trialStartClick:i.TRIAL_START_CLICK,sampleReportDownload:i.SAMPLE_REPORT_DOWNLOAD,reportVerified:i.REPORT_VERIFIED,contentEngaged:i.CONTENT_ENGAGED,emailClick:i.EMAIL_CLICK,pageNotFound:i.PAGE_NOT_FOUND,chatOpened:i.CHAT_OPENED,chatStarted:i.CHAT_STARTED,chatInputSubmitted:i.CHAT_INPUT_SUBMITTED,chatHandoffRequested:i.CHAT_HANDOFF_REQUESTED,chatRated:i.CHAT_RATED,chatActionRepeated:i.CHAT_ACTION_REPEATED,tourStarted:i.TOUR_STARTED,tourStepViewed:i.TOUR_STEP_VIEWED,tourCompleted:i.TOUR_COMPLETED,tourSkipped:i.TOUR_SKIPPED}),he=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;var mt=50;function Te(){let e=new Set(Object.values(i)),t=new Set;return{warned:t,register(n){for(let o of n){if(!he.test(o))throw new Error(`@webority/analytics: invalid event name "${o}". Expected snake_case.`);e.add(o)}},accept(n,o){return e.has(n)?!0:(_t(t,n,o),!1)}}}function _t(e,t,n){if(e.has(t))return;e.size<mt&&e.add(t);let o=`@webority/analytics: event "${t}" is not registered, so it was dropped. Call registerEvents() first.`;if(typeof n?.warn=="function"){n.warn(o);return}if(typeof n?.info=="function"){n.info(o);return}console.warn(o)}var L=Te(),en={config:null,posthogInstance:null,posthogInitPromise:null,warnedUnregisteredEvents:L.warned,pendingIdentify:null};var gt=new Set(["token","code","email","access_token","id_token","state","session_state","password","search","q","query"]),yt=/(?:access_token|id_token|session_state|token|code|state|email|password)=/i,Et=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"],ht=4,Tt=5,Ct=6;function S(e){if(typeof e!="string")return e;let t=e.indexOf("#"),n=t===-1?e:e.slice(0,t),o=t===-1||yt.test(e.slice(t))?"":e.slice(t),r=n.indexOf("?");if(r===-1)return n+o;let s=n.slice(r+1).split("&"),c=s.filter(_=>!gt.has(bt(_))).map(It);if(c.length===s.length&&c.every((_,w)=>_===s[w]))return n+o;let f=n.slice(0,r),E=c.filter(_=>_!=="").join("&");return(E?`${f}?${E}`:f)+o}function Ce(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])wt(r);let n=t?.$heatmap_data;if(n&&typeof n=="object"){let r={};for(let[s,c]of Object.entries(n)){let f=S(s);r[f]=r[f]?r[f].concat(c):c}t.$heatmap_data=r}if(t&&typeof t=="object"){for(let[r,s]of Object.entries(t))if(r.startsWith("$web_vitals_")&&r.endsWith("_event")&&s&&typeof s=="object")for(let c of["$current_url","navigationURL"])typeof s[c]=="string"&&(s[c]=S(s[c]))}let o=t?.$snapshot_data;if(e.event==="$snapshot"&&o&&typeof o=="object")for(let r of Array.isArray(o)?o:[o])St(r);return e}function St(e){let t=e?.data;if(!(!t||typeof t!="object")){if(e.type===ht)k(t,["href"]);else if(e.type===Tt)k(t.payload,["href"]);else if(e.type===Ct&&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]=S(e[n]))}function wt(e){k(e,Et)}function It(e){let t=e.indexOf("=");if(t===-1)return e;let n;try{n=decodeURIComponent(e.slice(t+1).replace(/\+/g," "))}catch{return e}if(!n.startsWith("/")&&!/^https?:\/\//i.test(n))return e;let o=S(n);return o===n?e:`${e.slice(0,t)}=${encodeURIComponent(o)}`}function bt(e){let t=e.split("=",1)[0].replace(/\+/g," ");try{return decodeURIComponent(t).toLowerCase()}catch{return t.toLowerCase()}}function Se(e,t,n=!1){return t?e:{...e,opt_out_capturing_by_default:!0,...n?{advanced_disable_feature_flags_on_first_load:!0}:{}}}function we(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:!1},disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!(t.enabled||e.featureFlags===!0),before_send:Ce};return t.enabled&&(n.session_recording={maskAllInputs:t.maskAllInputs??!0,...t.maskTextSelector?{maskTextSelector:t.maskTextSelector}:{},maskCapturedNetworkRequestFn:o=>({...o,name:S(o.name)}),recordBody:!1,recordHeaders:!1}),n}var Ie={sampleRate:1,softNavigations:!0,deployVersion:null,pageTemplate:null};function be(e){if(e==null||e===!1)return null;if(e===!0)return{...Ie};if(typeof e!="object")throw new Error("@webority/analytics: webVitals takes true or { sampleRate, softNavigations, deployVersion, pageTemplate }.");let t=e.sampleRate??Ie.sampleRate;if(typeof t!="number"||!(t>0&&t<=1))throw new Error("@webority/analytics: webVitals.sampleRate must be a number above 0 and at most 1.");let n=e.deployVersion??null;if(n!==null&&typeof n!="string")throw new Error("@webority/analytics: webVitals.deployVersion must be a string.");let o=e.pageTemplate??null;if(o!==null&&(typeof o!="string"||o.length>120))throw new Error("@webority/analytics: webVitals.pageTemplate must be a string of at most 120 characters.");return{sampleRate:t,softNavigations:e.softNavigations!==!1,deployVersion:n,pageTemplate:o}}var Rt=()=>Promise.resolve().then(()=>(Ne(),Re)),Nt=100,l={config:null,posthog:null,pending:[],failed:!1,loadPosthog:Rt,startVitals:Ee,stopFollowingConsent:null};function De({host:e,clientKey:t,product:n,surface:o,environment:r,enabled:s=!0,sessionRecording:c,heatmaps:f=!1,captureExceptions:E=!1,webVitals:_=!1}={}){if(!C())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");let w=be(_);!s||!e||!t||r==="Local"||l.config||(l.config={host:e,clientKey:t,product:n,surface:o,environment:r,sessionRecording:c,heatmaps:f,captureExceptions:E,webVitals:w},l.stopFollowingConsent=g(y=>Lt(y.analytics)),D(()=>{Promise.resolve().then(l.loadPosthog).then(y=>Dt(y.default??y)).catch(()=>{l.failed=!0,l.pending=[]})}))}function Dt(e){let t=l.config,n=d().analytics;e.init(t.clientKey,Se(kt(t),n)),e.register({product:t.product,surface:t.surface,environment:t.environment}),n?e.opt_in_capturing({captureEventName:!1}):e.opt_out_capturing(),l.posthog=e;let o=l.pending;l.pending=[];for(let[r,s]of o)q(e,r,s);t.webVitals&&l.startVitals(t.webVitals,(r,s)=>q(e,r,s))}function Lt(e){l.posthog&&(e?l.posthog.opt_in_capturing():l.posthog.opt_out_capturing())}function kt(e){return{...we({host:e.host,sessionRecording:e.sessionRecording,heatmaps:e.heatmaps,captureExceptions:e.captureExceptions,webVitals:e.webVitals}),capture_pageview:!0}}function Le(e,t){let n=l.config;if(!n)return;let o={...t,product:n.product,surface:n.surface,environment:n.environment};l.posthog?q(l.posthog,e,o):!l.failed&&l.pending.length<Nt&&l.pending.push([e,o])}function q(e,t,n){try{e.capture(t,n)}catch{}}function ke(e,t={}){if(!L.accept(e))return!1;let n=d().analytics,o=N(),r={...t};for(let[s,c]of[["first",o?.firstTouch],["last",o?.lastTouch]])c&&(r[`${s}_touch_channel`]=h(c),c.aiSource&&(r[`${s}_touch_ai_source`]=c.aiSource));return Le(e,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:e}),!0):!1}function ve(e){L.register(e)}var vt="https://www.googletagmanager.com/gtm.js",Ut=3e3,Pt=100,m={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function Pe(e={}){if(!C())throw new Error("@webority/analytics: call initConsent before loadTags.");if(m.loaded)return;m.loaded=!0;let{gtmId:t,gtmUrl:n=vt,clarityId:o,ahrefsKey:r}=e;if(typeof n!="string"||n.trim()==="")throw new Error("@webority/analytics: gtmUrl must be a non-empty string.");let s=se();if(r){let c=()=>W("https://analytics.ahrefs.com/analytics.js",{"data-key":r});s?Ue(f=>f.analytics,c):c()}if(t){let c=M(),f=j=>j.analytics||j.marketing&&c,E=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),W(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},_=d(),w=_.decided&&f(_)?xt:D,y=()=>w(E);s?Ue(f,y):y()}o&&(m.clarityId=o,d().analytics&&Mt(),g(c=>{c.analytics&&!m.clarityLoaded?K():m.clarityLoaded&&xe(c)}))}function Ue(e,t){if(e(d())){t();return}let n=g(o=>{e(o)&&(n(),t())})}function xt(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function Mt(){let e=()=>{window.scrollY>Pt&&K()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(K,Ut);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)},xe(d()),W(`https://www.clarity.ms/tag/${encodeURIComponent(m.clarityId)}`,{crossorigin:"anonymous"}))}function xe(e){window.clarity("consentv2",{ad_Storage:e.marketing&&M()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function W(e,t={}){let n=document.createElement("script");n.async=!0,n.src=e;for(let[o,r]of Object.entries(t))n.setAttribute(o,r);document.head.appendChild(n)}return He(Ft);})();
1
+ var WeborityAnalytics=(()=>{var k=Object.defineProperty;var Me=Object.getOwnPropertyDescriptor;var $e=Object.getOwnPropertyNames;var Ve=Object.prototype.hasOwnProperty;var Ge=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(o){throw n=[o],o}};var Y=(e,t)=>{for(var n in t)k(e,n,{get:t[n],enumerable:!0})},He=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of $e(t))!Ve.call(e,r)&&r!==n&&k(e,r,{get:()=>t[r],enumerable:!(o=Me(t,r))||o.enumerable});return e};var Be=e=>He(k({},"__esModule",{value:!0}),e);var Ne={};Y(Ne,{default:()=>Ot});function bt(){let e=[];e._i=[],e.__SV=1,e.people=[];for(let t of Ae)e[t]=(...n)=>{e.push([t,...n])};e.init=(t,n)=>{e._i.push([t,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=e}var Ae,Re,Ot,De=Ge(()=>{Ae=["capture","register","opt_in_capturing","opt_out_capturing"];Re={init(e,t){window.posthog||bt(),window.posthog.init(e,t)}};for(let e of Ae)Re[e]=(...t)=>window.posthog[e](...t);Ot=Re});var Ft={};Y(Ft,{CONSENT_CHANGE_EVENT:()=>P,CONSENT_COOKIE_NAME:()=>I,captureAttribution:()=>_e,channels:()=>u,events:()=>i,getAttribution:()=>N,getConsent:()=>d,initConsent:()=>ie,initSiteAnalytics:()=>Le,loadTags:()=>xe,onConsentChange:()=>g,registerEvents:()=>Ue,requiresOptIn:()=>te,resolveAiSource:()=>O,resolveChannel:()=>h,saveConsent:()=>ce,setConsentRegion:()=>ae,trackSiteEvent:()=>ve});var ze=["google","googleads","adwords","youtube"],qe=["meta","facebook","fb","instagram","ig","messenger"],Ke=["linkedin","lnkd"],je=["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"]]]),We=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],Ye=["google","yandex"],Qe=["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 h(e){if(!e)return u.DIRECT;let t=p(e.utmSource);if(t){let r=b(t);if(ze.includes(r))return u.GOOGLE;if(qe.includes(r))return u.META;if(Ke.includes(r))return u.LINKEDIN;if(je.includes(r))return u.MICROSOFT}if(p(e.fbclid))return u.META;if(p(e.gclid)||p(e.gbraid)||p(e.wbraid))return u.GOOGLE;if(p(e.liFatId))return u.LINKEDIN;if(p(e.msclkid))return u.MICROSOFT;if(X(t))return u.AI_ASSISTANT;if(t||p(e.utmMedium)||p(e.utmCampaign)||p(e.utmContent)||p(e.utmTerm))return u.OTHER;let o=ee(e.referrer);return o?J(o)?u.AI_ASSISTANT:Xe(o)?u.ORGANIC_SEARCH:Qe.some(r=>Z(o,r))?u.ORGANIC_SOCIAL:u.REFERRAL:u.DIRECT}function O(e){if(!e)return"";let t=X(p(e.utmSource));if(t)return t;let n=ee(e.referrer);return n?J(n):""}function X(e){if(!e)return"";let t=b(e);for(let[n,o]of Q)if(b(n)===t||o.some(r=>b(r)===t))return n;return""}function J(e){for(let[t,n]of Q)if(n.some(o=>Z(e,o)))return t;return""}function Xe(e){return We.includes(e)?!0:Ye.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 Z(e,t){return e===t||e.endsWith(`.${t}`)}function ee(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 b(e){return String(e).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function p(e){return String(e??"").trim()}var v=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:v.includes(t)}var I="webority_cookie_consent",P="webority-consent-change",oe=365,a={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:oe,cookieDomain:null,regionCookie:null,region:null,saved:null},re=["eea","other"],U=new Set;function ie(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.');a.initialized=!0,a.strictOptIn=t,a.requiresOptIn=t||e.requiresOptIn,a.adStorage=e.adStorage??!t,a.cookieDays=e.cookieDays??oe,a.cookieDomain=e.cookieDomain?.trim()??null,a.regionCookie=e.regionCookie??null,a.region=a.regionCookie?tt(a.regionCookie):null;let{saved:n,entryCount:o}=et();a.saved=n,a.cookieDomain&&o>1&&n&&fe(n),Je(),Ze(),a.saved?M(a.saved):ue()&&de()}function ae(e){if(F("setConsentRegion"),!re.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=d();if(a.region=e,a.saved)return;let n=d();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(de(),le(n))}function T(){return a.initialized}function se(){return a.strictOptIn}function x(){return a.adStorage}function d(){F("getConsent");let e=a.saved;if(e)return{essential:!0,analytics:e.analytics,functional:e.functional,marketing:e.marketing,decided:!0};if(ue())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let t=!a.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function ce(e){F("saveConsent");let t={essential:!0,analytics:e?.analytics===!0,functional:e?.functional===!0,marketing:e?.marketing===!0,timestamp:new Date().toISOString()};fe(t),a.saved=t,M(t),le(d())}function g(e){return U.add(e),()=>U.delete(e)}function le(e){for(let t of U)try{t(e)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(P,{detail:e}))}function F(e){if(!a.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function C(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function Je(){if(a.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:[...v]});let e=a.adStorage?"granted":"denied";C("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 Ze(){C("set","ads_data_redaction",!0),C("set","url_passthrough",!0)}function ue(){return a.requiresOptIn&&!a.strictOptIn&&a.region==="other"}function de(){let e=d();M(e,e.analytics&&a.adStorage)}function M(e,t=e.marketing&&a.adStorage){let n=o=>o?"granted":"denied";C("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 et(){let e=`${I}=`,t=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(e)),n=t.map(o=>nt(o.slice(e.length))).filter(Boolean);return{saved:ot(n),entryCount:t.length}}function tt(e){let t=`${e}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(t))?.slice(t.length);return re.includes(o)?o:null}function nt(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 ot(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 fe(e){let t=typeof e.timestamp=="string"?Date.parse(e.timestamp):Number.NaN,n=(Number.isNaN(t)?Date.now():t)+a.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";a.cookieDomain&&ne(`${I}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=a.cookieDomain?`;domain=${a.cookieDomain}`:"";ne(`${I}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function ne(e){document.cookie=e}var R="webority_attribution",rt=2160*60*60*1e3,it=200,$=500,at=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"}),pe=!1;function _e(){ye("captureAttribution"),ut();let e=ct();if(!e)return;let t=B(V());ge(V(),{firstTouch:t?.firstTouch??e,lastTouch:e}),st(e)}function st(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 N(){return ye("getAttribution"),B(V())}function ct(){let e=new URLSearchParams(window.location.search),t={};for(let[r,s]of Object.entries(at)){let c=A(e.get(r),it);c&&(t[s]=c)}let n=A(e.get("referrer"),$)||lt();if(n&&(t.referrer=n),Object.keys(t).length===0)return null;let o=O(t);return o&&(t.aiSource=o),t.landingPage=A(window.location.pathname,$),t.capturedDateTimeUtc=new Date().toISOString(),t}function lt(){let e=document.referrer;if(!e)return"";try{return new URL(e).hostname===window.location.hostname?"":A(e,$)}catch{return""}}function ut(){pe||(pe=!0,g(e=>{let t=e.marketing?H():G(),n=e.marketing?G():H(),o=B(t);dt(t),o&&ge(n,o)}))}function V(){return d().marketing?G():H()}function G(){try{return window.localStorage}catch{return null}}function H(){try{return window.sessionStorage}catch{return null}}function B(e){try{let t=e?.getItem(R);if(!t)return null;let n=JSON.parse(t),o=me(n?.firstTouch),r=me(n?.lastTouch);return!o&&!r?(e.removeItem(R),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function ge(e,t){try{e?.setItem(R,JSON.stringify(t))}catch{}}function dt(e){try{e?.removeItem(R)}catch{}}function me(e){if(!e||typeof e!="object")return null;let t=Date.parse(e.capturedDateTimeUtc);return Number.isFinite(t)&&Date.now()-t<=rt?e:null}function A(e,t){let n=String(e??"").trim();return n?n.slice(0,t):""}function ye(e){if(!T())throw new Error(`@webority/analytics: call initConsent before ${e}.`)}var ft="webority-analytics-web-vitals.global.js",pt=globalThis.document?.currentScript?.src||null;function Ee(e,t,{base:n=pt,doc:o=globalThis.document}={}){return!n||!o?.head?Promise.resolve():new Promise(r=>{let s=o.createElement("script");s.async=!0,s.src=new URL(ft,n).href,s.onload=()=>r(globalThis.WeborityAnalyticsWebVitals?.startWebVitals(e,t)),s.onerror=()=>r(),o.head.appendChild(s)})}var mt=["scroll","mousemove","touchstart","keydown","pointerdown"];function D(e){let t=!1,n=()=>{t||(t=!0,e())};for(let o of mt)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,1500):window.addEventListener("load",()=>setTimeout(n,1500),{once:!0})}var i=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",LEAD_WON:"lead_won",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",EMAIL_CLICK:"email_click",PAGE_NOT_FOUND:"page_not_found",CHAT_OPENED:"chat_opened",CHAT_STARTED:"chat_started",CHAT_INPUT_SUBMITTED:"chat_input_submitted",CHAT_HANDOFF_REQUESTED:"chat_handoff_requested",CHAT_RATED:"chat_rated",CHAT_ACTION_REPEATED:"chat_action_repeated",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),Wt=Object.freeze({signupStarted:i.SIGNUP_STARTED,signupCompleted:i.SIGNUP_COMPLETED,loginSucceeded:i.LOGIN_SUCCEEDED,onboardingStarted:i.ONBOARDING_STARTED,onboardingStepCompleted:i.ONBOARDING_STEP_COMPLETED,onboardingCompleted:i.ONBOARDING_COMPLETED,subscriptionActivated:i.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:i.SUBSCRIPTION_CANCELLED,paymentSucceeded:i.PAYMENT_SUCCEEDED,paymentFailed:i.PAYMENT_FAILED,feedbackSubmitted:i.FEEDBACK_SUBMITTED,leadSubmitted:i.LEAD_SUBMITTED,leadQualified:i.LEAD_QUALIFIED,leadWon:i.LEAD_WON,whatsappClick:i.WHATSAPP_CLICK,calculatorUse:i.CALCULATOR_USE,phoneClick:i.PHONE_CLICK,demoBooked:i.DEMO_BOOKED,contactSubmitted:i.CONTACT_SUBMITTED,trialStartClick:i.TRIAL_START_CLICK,sampleReportDownload:i.SAMPLE_REPORT_DOWNLOAD,reportVerified:i.REPORT_VERIFIED,contentEngaged:i.CONTENT_ENGAGED,emailClick:i.EMAIL_CLICK,pageNotFound:i.PAGE_NOT_FOUND,chatOpened:i.CHAT_OPENED,chatStarted:i.CHAT_STARTED,chatInputSubmitted:i.CHAT_INPUT_SUBMITTED,chatHandoffRequested:i.CHAT_HANDOFF_REQUESTED,chatRated:i.CHAT_RATED,chatActionRepeated:i.CHAT_ACTION_REPEATED,tourStarted:i.TOUR_STARTED,tourStepViewed:i.TOUR_STEP_VIEWED,tourCompleted:i.TOUR_COMPLETED,tourSkipped:i.TOUR_SKIPPED}),he=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;function Ce(){let e=new Set(Object.values(i));return{register(t){for(let n of t){if(!he.test(n))throw new Error(`@webority/analytics: invalid event name "${n}". Expected snake_case.`);e.add(n)}},assertRegistered(t){if(!e.has(t))throw new Error(`@webority/analytics: event "${t}" is not registered. Call registerEvents() first.`)}}}var z=Ce();var _t=new Set(["token","code","email","access_token","id_token","state","session_state","password","search","q","query"]),gt=/(?:access_token|id_token|session_state|token|code|state|email|password)=/i,yt=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"],Et=4,ht=5,Ct=6;function S(e){if(typeof e!="string")return e;let t=e.indexOf("#"),n=t===-1?e:e.slice(0,t),o=t===-1||gt.test(e.slice(t))?"":e.slice(t),r=n.indexOf("?");if(r===-1)return n+o;let s=n.slice(r+1).split("&"),c=s.filter(_=>!_t.has(It(_))).map(wt);if(c.length===s.length&&c.every((_,w)=>_===s[w]))return n+o;let f=n.slice(0,r),E=c.filter(_=>_!=="").join("&");return(E?`${f}?${E}`:f)+o}function Te(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])St(r);let n=t?.$heatmap_data;if(n&&typeof n=="object"){let r={};for(let[s,c]of Object.entries(n)){let f=S(s);r[f]=r[f]?r[f].concat(c):c}t.$heatmap_data=r}if(t&&typeof t=="object"){for(let[r,s]of Object.entries(t))if(r.startsWith("$web_vitals_")&&r.endsWith("_event")&&s&&typeof s=="object")for(let c of["$current_url","navigationURL"])typeof s[c]=="string"&&(s[c]=S(s[c]))}let o=t?.$snapshot_data;if(e.event==="$snapshot"&&o&&typeof o=="object")for(let r of Array.isArray(o)?o:[o])Tt(r);return e}function Tt(e){let t=e?.data;if(!(!t||typeof t!="object")){if(e.type===Et)L(t,["href"]);else if(e.type===ht)L(t.payload,["href"]);else if(e.type===Ct&&Array.isArray(t.payload?.requests))for(let n of t.payload.requests)L(n,["name","url"])}}function L(e,t){if(!(!e||typeof e!="object"))for(let n of t)typeof e[n]=="string"&&(e[n]=S(e[n]))}function St(e){L(e,yt)}function wt(e){let t=e.indexOf("=");if(t===-1)return e;let n=e.slice(t+1).replace(/\+/g," "),o;try{o=decodeURIComponent(n)}catch{o=Se(n)}if(!o.startsWith("/")&&!/^https?:\/\//i.test(o))return e;let r=S(o);return r===o?e:`${e.slice(0,t)}=${encodeURIComponent(r)}`}function It(e){let t=e.replace(/\+/g," "),n;try{n=decodeURIComponent(t)}catch{n=Se(t)}return n.split("=",1)[0].toLowerCase()}function Se(e){return e.replace(/%([0-9a-f]{2})/gi,(t,n)=>{let o=Number.parseInt(n,16);return o<128?String.fromCharCode(o):t})}function we(e,t,n=!1){return t?e:{...e,opt_out_capturing_by_default:!0,...n?{advanced_disable_feature_flags_on_first_load:!0}:{}}}function Ie(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:!1},disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!(t.enabled||e.featureFlags===!0),before_send:Te};return t.enabled&&(n.session_recording={maskAllInputs:t.maskAllInputs??!0,...t.maskTextSelector?{maskTextSelector:t.maskTextSelector}:{},maskCapturedNetworkRequestFn:o=>({...o,name:S(o.name)}),recordBody:!1,recordHeaders:!1}),n}var be={sampleRate:1,softNavigations:!0,deployVersion:null,pageTemplate:null};function Oe(e){if(e==null||e===!1)return null;if(e===!0)return{...be};if(typeof e!="object")throw new Error("@webority/analytics: webVitals takes true or { sampleRate, softNavigations, deployVersion, pageTemplate }.");let t=e.sampleRate??be.sampleRate;if(typeof t!="number"||!(t>0&&t<=1))throw new Error("@webority/analytics: webVitals.sampleRate must be a number above 0 and at most 1.");let n=e.deployVersion??null;if(n!==null&&typeof n!="string")throw new Error("@webority/analytics: webVitals.deployVersion must be a string.");let o=e.pageTemplate??null;if(o!==null&&(typeof o!="string"||o.length>120))throw new Error("@webority/analytics: webVitals.pageTemplate must be a string of at most 120 characters.");return{sampleRate:t,softNavigations:e.softNavigations!==!1,deployVersion:n,pageTemplate:o}}var At=()=>Promise.resolve().then(()=>(De(),Ne)),Rt=100,l={config:null,posthog:null,pending:[],failed:!1,loadPosthog:At,startVitals:Ee,stopFollowingConsent:null};function Le({host:e,clientKey:t,product:n,surface:o,environment:r,enabled:s=!0,sessionRecording:c,heatmaps:f=!1,captureExceptions:E=!1,webVitals:_=!1}={}){if(!T())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");let w=Oe(_);!s||!e||!t||r==="Local"||l.config||(l.config={host:e,clientKey:t,product:n,surface:o,environment:r,sessionRecording:c,heatmaps:f,captureExceptions:E,webVitals:w},l.stopFollowingConsent=g(y=>Dt(y.analytics)),D(()=>{Promise.resolve().then(l.loadPosthog).then(y=>Nt(y.default??y)).catch(()=>{l.failed=!0,l.pending=[]})}))}function Nt(e){let t=l.config,n=d().analytics;e.init(t.clientKey,we(Lt(t),n)),e.register({product:t.product,surface:t.surface,environment:t.environment}),n?e.opt_in_capturing({captureEventName:!1}):e.opt_out_capturing(),l.posthog=e;let o=l.pending;l.pending=[];for(let[r,s]of o)q(e,r,s);t.webVitals&&l.startVitals(t.webVitals,(r,s)=>q(e,r,s))}function Dt(e){l.posthog&&(e?l.posthog.opt_in_capturing():l.posthog.opt_out_capturing())}function Lt(e){return{...Ie({host:e.host,sessionRecording:e.sessionRecording,heatmaps:e.heatmaps,captureExceptions:e.captureExceptions,webVitals:e.webVitals}),capture_pageview:!0}}function ke(e,t){let n=l.config;if(!n)return;let o={...t,product:n.product,surface:n.surface,environment:n.environment};l.posthog?q(l.posthog,e,o):!l.failed&&l.pending.length<Rt&&l.pending.push([e,o])}function q(e,t,n){try{e.capture(t,n)}catch{}}function ve(e,t={}){z.assertRegistered(e);let n=d().analytics,o=N(),r={...t};for(let[s,c]of[["first",o?.firstTouch],["last",o?.lastTouch]])c&&(r[`${s}_touch_channel`]=h(c),c.aiSource&&(r[`${s}_touch_ai_source`]=c.aiSource));return ke(e,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:e}),!0):!1}function Ue(e){z.register(e)}var kt="https://www.googletagmanager.com/gtm.js",vt=3e3,Ut=100,m={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function xe(e={}){if(!T())throw new Error("@webority/analytics: call initConsent before loadTags.");if(m.loaded)return;m.loaded=!0;let{gtmId:t,gtmUrl:n=kt,clarityId:o,ahrefsKey:r}=e;if(typeof n!="string"||n.trim()==="")throw new Error("@webority/analytics: gtmUrl must be a non-empty string.");let s=se();if(r){let c=()=>j("https://analytics.ahrefs.com/analytics.js",{"data-key":r});s?Pe(f=>f.analytics,c):c()}if(t){let c=x(),f=W=>W.analytics||W.marketing&&c,E=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),j(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},_=d(),w=_.decided&&f(_)?Pt:D,y=()=>w(E);s?Pe(f,y):y()}o&&(m.clarityId=o,d().analytics&&xt(),g(c=>{c.analytics&&!m.clarityLoaded?K():m.clarityLoaded&&Fe(c)}))}function Pe(e,t){if(e(d())){t();return}let n=g(o=>{e(o)&&(n(),t())})}function Pt(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function xt(){let e=()=>{window.scrollY>Ut&&K()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(K,vt);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)},Fe(d()),j(`https://www.clarity.ms/tag/${encodeURIComponent(m.clarityId)}`,{crossorigin:"anonymous"}))}function Fe(e){window.clarity("consentv2",{ad_Storage:e.marketing&&x()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function j(e,t={}){let n=document.createElement("script");n.async=!0,n.src=e;for(let[o,r]of Object.entries(t))n.setAttribute(o,r);document.head.appendChild(n)}return Be(Ft);})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webority/analytics",
3
- "version": "0.35.1",
3
+ "version": "0.36.1",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1 +0,0 @@
1
- import{a as Z}from"./chunk-TPTUIQE4.js";var De=["google","googleads","adwords","youtube"],Le=["meta","facebook","fb","instagram","ig","messenger"],ke=["linkedin","lnkd"],ve=["bing","microsoft","microsoftads","msn"],ee=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"]]]),xe=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],Ue=["google","yandex"],Fe=["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"],f=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 f.DIRECT;let t=m(e.utmSource);if(t){let r=O(t);if(De.includes(r))return f.GOOGLE;if(Le.includes(r))return f.META;if(ke.includes(r))return f.LINKEDIN;if(ve.includes(r))return f.MICROSOFT}if(m(e.fbclid))return f.META;if(m(e.gclid)||m(e.gbraid)||m(e.wbraid))return f.GOOGLE;if(m(e.liFatId))return f.LINKEDIN;if(m(e.msclkid))return f.MICROSOFT;if(te(t))return f.AI_ASSISTANT;if(t||m(e.utmMedium)||m(e.utmCampaign)||m(e.utmContent)||m(e.utmTerm))return f.OTHER;let o=re(e.referrer);return o?ne(o)?f.AI_ASSISTANT:Pe(o)?f.ORGANIC_SEARCH:Fe.some(r=>oe(o,r))?f.ORGANIC_SOCIAL:f.REFERRAL:f.DIRECT}function x(e){if(!e)return"";let t=te(m(e.utmSource));if(t)return t;let n=re(e.referrer);return n?ne(n):""}function te(e){if(!e)return"";let t=O(e);for(let[n,o]of ee)if(O(n)===t||o.some(r=>O(r)===t))return n;return""}function ne(e){for(let[t,n]of ee)if(n.some(o=>oe(e,o)))return t;return""}function Pe(e){return xe.includes(e)?!0:Ue.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 oe(e,t){return e===t||e.endsWith(`.${t}`)}function re(e){let t=m(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 O(e){return String(e).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function m(e){return String(e??"").trim()}var U=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 Me(e){let t=typeof e=="string"?e.trim().toUpperCase():"";return t.length!==2||t==="XX"||t==="T1"?!0:U.includes(t)}var A="webority_cookie_consent",ae="webority-consent-change",se=365,a={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:se,cookieDomain:null,regionCookie:null,region:null,saved:null},ce=["eea","other"],F=new Set;function $e(e){let t=e?.strictOptIn??!1;if(typeof t!="boolean")throw new Error("@webority/analytics: initConsent strictOptIn must be true or false, or left out.");if(t){if(e.requiresOptIn!==void 0&&e.requiresOptIn!==!0)throw new Error("@webority/analytics: initConsent strictOptIn asks every visitor to opt in, so requiresOptIn must be true or left out.")}else if(typeof e?.requiresOptIn!="boolean")throw new Error("@webority/analytics: initConsent needs requiresOptIn (true or false), decided from the visitor's country.");if(e.cookieDomain!==void 0&&(typeof e.cookieDomain!="string"||!e.cookieDomain.trim()))throw new Error('@webority/analytics: initConsent cookieDomain must be a domain such as ".example.com", or left out.');if(e.cookieDays!==void 0&&!(Number.isInteger(e.cookieDays)&&e.cookieDays>0))throw new Error("@webority/analytics: initConsent cookieDays must be a whole number of days above zero, or left out.");if(e.adStorage!==void 0&&typeof e.adStorage!="boolean")throw new Error("@webority/analytics: initConsent adStorage must be true or false, or left out.");if(e.regionCookie!==void 0&&(typeof e.regionCookie!="string"||!/^[\w.-]+$/.test(e.regionCookie)))throw new Error('@webority/analytics: initConsent regionCookie must be a cookie name such as "wui_region", or left out.');a.initialized=!0,a.strictOptIn=t,a.requiresOptIn=t||e.requiresOptIn,a.adStorage=e.adStorage??!t,a.cookieDays=e.cookieDays??se,a.cookieDomain=e.cookieDomain?.trim()??null,a.regionCookie=e.regionCookie??null,a.region=a.regionCookie?Ke(a.regionCookie):null;let{saved:n,entryCount:o}=qe();a.saved=n,a.cookieDomain&&o>1&&n&&pe(n),Be(),ze(),a.saved?$(a.saved):de()&&fe()}function Ge(e){if(M("setConsentRegion"),!ce.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=d();if(a.region=e,a.saved)return;let n=d();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(fe(),le(n))}function E(){return a.initialized}function ue(){return a.strictOptIn}function P(){return a.adStorage}function d(){M("getConsent");let e=a.saved;if(e)return{essential:!0,analytics:e.analytics,functional:e.functional,marketing:e.marketing,decided:!0};if(de())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let t=!a.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function He(e){M("saveConsent");let t={essential:!0,analytics:e?.analytics===!0,functional:e?.functional===!0,marketing:e?.marketing===!0,timestamp:new Date().toISOString()};pe(t),a.saved=t,$(t),le(d())}function y(e){return F.add(e),()=>F.delete(e)}function le(e){for(let t of F)try{t(e)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(ae,{detail:e}))}function M(e){if(!a.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function S(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function Be(){if(a.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:[...U]});let e=a.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 ze(){S("set","ads_data_redaction",!0),S("set","url_passthrough",!0)}function de(){return a.requiresOptIn&&!a.strictOptIn&&a.region==="other"}function fe(){let e=d();$(e,e.analytics&&a.adStorage)}function $(e,t=e.marketing&&a.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 qe(){let e=`${A}=`,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:We(n),entryCount:t.length}}function Ke(e){let t=`${e}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(t))?.slice(t.length);return ce.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 We(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 pe(e){let t=typeof e.timestamp=="string"?Date.parse(e.timestamp):Number.NaN,n=(Number.isNaN(t)?Date.now():t)+a.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";a.cookieDomain&&ie(`${A}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=a.cookieDomain?`;domain=${a.cookieDomain}`:"";ie(`${A}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function ie(e){document.cookie=e}var R="webority_attribution",je=2160*60*60*1e3,Ye=200,G=500,Qe=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"}),me=!1;function Xe(){Ee("captureAttribution"),tt();let e=Ze();if(!e)return;let t=K(H());ge(H(),{firstTouch:t?.firstTouch??e,lastTouch:e}),Je(e)}function Je(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 q(){return Ee("getAttribution"),K(H())}function Ze(){let e=new URLSearchParams(window.location.search),t={};for(let[r,c]of Object.entries(Qe)){let s=b(e.get(r),Ye);s&&(t[c]=s)}let n=b(e.get("referrer"),G)||et();if(n&&(t.referrer=n),Object.keys(t).length===0)return null;let o=x(t);return o&&(t.aiSource=o),t.landingPage=b(window.location.pathname,G),t.capturedDateTimeUtc=new Date().toISOString(),t}function et(){let e=document.referrer;if(!e)return"";try{return new URL(e).hostname===window.location.hostname?"":b(e,G)}catch{return""}}function tt(){me||(me=!0,y(e=>{let t=e.marketing?z():B(),n=e.marketing?B():z(),o=K(t);nt(t),o&&ge(n,o)}))}function H(){return d().marketing?B():z()}function B(){try{return window.localStorage}catch{return null}}function z(){try{return window.sessionStorage}catch{return null}}function K(e){try{let t=e?.getItem(R);if(!t)return null;let n=JSON.parse(t),o=_e(n?.firstTouch),r=_e(n?.lastTouch);return!o&&!r?(e.removeItem(R),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function ge(e,t){try{e?.setItem(R,JSON.stringify(t))}catch{}}function nt(e){try{e?.removeItem(R)}catch{}}function _e(e){if(!e||typeof e!="object")return null;let t=Date.parse(e.capturedDateTimeUtc);return Number.isFinite(t)&&Date.now()-t<=je?e:null}function b(e,t){let n=String(e??"").trim();return n?n.slice(0,t):""}function Ee(e){if(!E())throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function ye(e,t){return import("./web-vitals-RMISAXOY.js").then(n=>n.startWebVitals(e,t)).catch(()=>{})}var ot=["scroll","mousemove","touchstart","keydown","pointerdown"];function N(e){let t=!1,n=()=>{t||(t=!0,e())};for(let o of ot)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,1500):window.addEventListener("load",()=>setTimeout(n,1500),{once:!0})}var i=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",LEAD_WON:"lead_won",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",EMAIL_CLICK:"email_click",PAGE_NOT_FOUND:"page_not_found",CHAT_OPENED:"chat_opened",CHAT_STARTED:"chat_started",CHAT_INPUT_SUBMITTED:"chat_input_submitted",CHAT_HANDOFF_REQUESTED:"chat_handoff_requested",CHAT_RATED:"chat_rated",CHAT_ACTION_REPEATED:"chat_action_repeated",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),Gt=Object.freeze({signupStarted:i.SIGNUP_STARTED,signupCompleted:i.SIGNUP_COMPLETED,loginSucceeded:i.LOGIN_SUCCEEDED,onboardingStarted:i.ONBOARDING_STARTED,onboardingStepCompleted:i.ONBOARDING_STEP_COMPLETED,onboardingCompleted:i.ONBOARDING_COMPLETED,subscriptionActivated:i.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:i.SUBSCRIPTION_CANCELLED,paymentSucceeded:i.PAYMENT_SUCCEEDED,paymentFailed:i.PAYMENT_FAILED,feedbackSubmitted:i.FEEDBACK_SUBMITTED,leadSubmitted:i.LEAD_SUBMITTED,leadQualified:i.LEAD_QUALIFIED,leadWon:i.LEAD_WON,whatsappClick:i.WHATSAPP_CLICK,calculatorUse:i.CALCULATOR_USE,phoneClick:i.PHONE_CLICK,demoBooked:i.DEMO_BOOKED,contactSubmitted:i.CONTACT_SUBMITTED,trialStartClick:i.TRIAL_START_CLICK,sampleReportDownload:i.SAMPLE_REPORT_DOWNLOAD,reportVerified:i.REPORT_VERIFIED,contentEngaged:i.CONTENT_ENGAGED,emailClick:i.EMAIL_CLICK,pageNotFound:i.PAGE_NOT_FOUND,chatOpened:i.CHAT_OPENED,chatStarted:i.CHAT_STARTED,chatInputSubmitted:i.CHAT_INPUT_SUBMITTED,chatHandoffRequested:i.CHAT_HANDOFF_REQUESTED,chatRated:i.CHAT_RATED,chatActionRepeated:i.CHAT_ACTION_REPEATED,tourStarted:i.TOUR_STARTED,tourStepViewed:i.TOUR_STEP_VIEWED,tourCompleted:i.TOUR_COMPLETED,tourSkipped:i.TOUR_SKIPPED}),Ce=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;var rt=50;function Te(){let e=new Set(Object.values(i)),t=new Set;return{warned:t,register(n){for(let o of n){if(!Ce.test(o))throw new Error(`@webority/analytics: invalid event name "${o}". Expected snake_case.`);e.add(o)}},accept(n,o){return e.has(n)?!0:(it(t,n,o),!1)}}}function it(e,t,n){if(e.has(t))return;e.size<rt&&e.add(t);let o=`@webority/analytics: event "${t}" is not registered, so it was dropped. Call registerEvents() first.`;if(typeof n?.warn=="function"){n.warn(o);return}if(typeof n?.info=="function"){n.info(o);return}console.warn(o)}var D=Te(),l={config:null,posthogInstance:null,posthogInitPromise:null,warnedUnregisteredEvents:D.warned,pendingIdentify:null};function Vt(e){l.config=e,l.posthogInstance=null,l.posthogInitPromise=null,l.pendingIdentify=null}function at(){let e=l.config;return e?!!(e.enabled&&e.clientKey&&e.environment!=="Local"):!1}function L(){return E()&&d().analytics}function Se(){return at()&&L()}var k=new Set,he=new WeakSet,Ie=null;function Yt(e){let t=V();if(!t)return!1;try{return t.isFeatureEnabled(e)===!0}catch{return!1}}function Qt(e){let t=V();if(!t)return null;try{return t.getFeatureFlag(e)??null}catch{return null}}function Xt(e){k.add(e);let t=V();return(!t||Ie===t)&&queueMicrotask(()=>{k.has(e)&&Oe(e)}),()=>k.delete(e)}function we(e){l.config?.featureFlags!==!0||he.has(e)||typeof e.onFeatureFlags!="function"||(he.add(e),e.onFeatureFlags(()=>{Ie=e;for(let t of[...k])Oe(t)}))}function V(){return l.config?.featureFlags!==!0||!Se()?null:l.posthogInstance??null}function Oe(e){try{e()}catch(t){queueMicrotask(()=>{throw t})}}var st=new Set(["token","code","email","access_token","id_token","state","session_state","password","search","q","query"]),ct=/(?:access_token|id_token|session_state|token|code|state|email|password)=/i,ut=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"],lt=4,dt=5,ft=6;function h(e){if(typeof e!="string")return e;let t=e.indexOf("#"),n=t===-1?e:e.slice(0,t),o=t===-1||ct.test(e.slice(t))?"":e.slice(t),r=n.indexOf("?");if(r===-1)return n+o;let c=n.slice(r+1).split("&"),s=c.filter(g=>!st.has(gt(g))).map(_t);if(s.length===c.length&&s.every((g,I)=>g===c[I]))return n+o;let p=n.slice(0,r),T=s.filter(g=>g!=="").join("&");return(T?`${p}?${T}`:p)+o}function Ae(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])mt(r);let n=t?.$heatmap_data;if(n&&typeof n=="object"){let r={};for(let[c,s]of Object.entries(n)){let p=h(c);r[p]=r[p]?r[p].concat(s):s}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 s of["$current_url","navigationURL"])typeof c[s]=="string"&&(c[s]=h(c[s]))}let o=t?.$snapshot_data;if(e.event==="$snapshot"&&o&&typeof o=="object")for(let r of Array.isArray(o)?o:[o])pt(r);return e}function pt(e){let t=e?.data;if(!(!t||typeof t!="object")){if(e.type===lt)v(t,["href"]);else if(e.type===dt)v(t.payload,["href"]);else if(e.type===ft&&Array.isArray(t.payload?.requests))for(let n of t.payload.requests)v(n,["name","url"])}}function v(e,t){if(!(!e||typeof e!="object"))for(let n of t)typeof e[n]=="string"&&(e[n]=h(e[n]))}function mt(e){v(e,ut)}function _t(e){let t=e.indexOf("=");if(t===-1)return e;let n;try{n=decodeURIComponent(e.slice(t+1).replace(/\+/g," "))}catch{return e}if(!n.startsWith("/")&&!/^https?:\/\//i.test(n))return e;let o=h(n);return o===n?e:`${e.slice(0,t)}=${encodeURIComponent(o)}`}function gt(e){let t=e.split("=",1)[0].replace(/\+/g," ");try{return decodeURIComponent(t).toLowerCase()}catch{return t.toLowerCase()}}async function on(){if(l.posthogInstance)return l.posthogInstance;if(l.posthogInitPromise)return l.posthogInitPromise;let e=l.config;return l.posthogInitPromise=import("posthog-js").then(t=>{let n=t.default??t,o=W(j(e),L(),e.featureFlags===!0);return n.init(e.clientKey,o),n.register({product:e.product,surface:e.surface,environment:e.environment}),L()?n.opt_in_capturing({captureEventName:!1}):n.opt_out_capturing(),l.posthogInstance=n,we(n),n}).catch(t=>{throw l.posthogInitPromise=null,t}),l.posthogInitPromise}function W(e,t,n=!1){return t?e:{...e,opt_out_capturing_by_default:!0,...n?{advanced_disable_feature_flags_on_first_load:!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:!1},disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!(t.enabled||e.featureFlags===!0),before_send:Ae};return t.enabled&&(n.session_recording={maskAllInputs:t.maskAllInputs??!0,...t.maskTextSelector?{maskTextSelector:t.maskTextSelector}:{},maskCapturedNetworkRequestFn:o=>({...o,name:h(o.name)}),recordBody:!1,recordHeaders:!1}),n}var Et=()=>import("posthog-js"),yt=100,u={config:null,posthog:null,pending:[],failed:!1,loadPosthog:Et,startVitals:ye,stopFollowingConsent:null};function Ct({host:e,clientKey:t,product:n,surface:o,environment:r,enabled:c=!0,sessionRecording:s,heatmaps:p=!1,captureExceptions:T=!1,webVitals:g=!1}={}){if(!E())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");let I=Z(g);!c||!e||!t||r==="Local"||u.config||(u.config={host:e,clientKey:t,product:n,surface:o,environment:r,sessionRecording:s,heatmaps:p,captureExceptions:T,webVitals:I},u.stopFollowingConsent=y(C=>St(C.analytics)),N(()=>{Promise.resolve().then(u.loadPosthog).then(C=>Tt(C.default??C)).catch(()=>{u.failed=!0,u.pending=[]})}))}function Tt(e){let t=u.config,n=d().analytics;e.init(t.clientKey,W(ht(t),n)),e.register({product:t.product,surface:t.surface,environment:t.environment}),n?e.opt_in_capturing({captureEventName:!1}):e.opt_out_capturing(),u.posthog=e;let o=u.pending;u.pending=[];for(let[r,c]of o)Y(e,r,c);t.webVitals&&u.startVitals(t.webVitals,(r,c)=>Y(e,r,c))}function St(e){u.posthog&&(e?u.posthog.opt_in_capturing():u.posthog.opt_out_capturing())}function ht(e){return{...j({host:e.host,sessionRecording:e.sessionRecording,heatmaps:e.heatmaps,captureExceptions:e.captureExceptions,webVitals:e.webVitals}),capture_pageview:!0}}function be(e,t){let n=u.config;if(!n)return;let o={...t,product:n.product,surface:n.surface,environment:n.environment};u.posthog?Y(u.posthog,e,o):!u.failed&&u.pending.length<yt&&u.pending.push([e,o])}function Y(e,t,n){try{e.capture(t,n)}catch{}}function It(e,t={}){if(!D.accept(e))return!1;let n=d().analytics,o=q(),r={...t};for(let[c,s]of[["first",o?.firstTouch],["last",o?.lastTouch]])s&&(r[`${c}_touch_channel`]=w(s),s.aiSource&&(r[`${c}_touch_ai_source`]=s.aiSource));return be(e,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:e}),!0):!1}function wt(e){D.register(e)}var Ot="https://www.googletagmanager.com/gtm.js",At=3e3,bt=100,_={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function Rt(e={}){if(!E())throw new Error("@webority/analytics: call initConsent before loadTags.");if(_.loaded)return;_.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 c=ue();if(r){let s=()=>X("https://analytics.ahrefs.com/analytics.js",{"data-key":r});c?Re(p=>p.analytics,s):s()}if(t){let s=P(),p=J=>J.analytics||J.marketing&&s,T=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),X(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},g=d(),I=g.decided&&p(g)?Nt:N,C=()=>I(T);c?Re(p,C):C()}o&&(_.clarityId=o,d().analytics&&Dt(),y(s=>{s.analytics&&!_.clarityLoaded?Q():_.clarityLoaded&&Ne(s)}))}function Re(e,t){if(e(d())){t();return}let n=y(o=>{e(o)&&(n(),t())})}function Nt(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function Dt(){let e=()=>{window.scrollY>bt&&Q()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(Q,At);_.cancelClaritySchedule=()=>{window.removeEventListener("scroll",e),clearTimeout(t)}}function Q(){_.cancelClaritySchedule?.(),_.cancelClaritySchedule=null,!(_.clarityLoaded||!_.clarityId)&&(_.clarityLoaded=!0,window.clarity=window.clarity||function(){window.clarity.q=window.clarity.q||[],window.clarity.q.push(arguments)},Ne(d()),X(`https://www.clarity.ms/tag/${encodeURIComponent(_.clarityId)}`,{crossorigin:"anonymous"}))}function Ne(e){window.clarity("consentv2",{ad_Storage:e.marketing&&P()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function X(e,t={}){let n=document.createElement("script");n.async=!0,n.src=e;for(let[o,r]of Object.entries(t))n.setAttribute(o,r);document.head.appendChild(n)}export{Me as a,A as b,ae as c,$e as d,Ge as e,E as f,d as g,He as h,y as i,i as j,Gt as k,D as l,l as m,Vt as n,at as o,L as p,Yt as q,Qt as r,Xt as s,on as t,f as u,w as v,x as w,Xe as x,q as y,Ct as z,It as A,wt as B,Rt as C};