@webority/analytics 0.28.1 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ var u={sampleRate:1,softNavigations:!0,deployVersion:null};function g(e){if(e==null||e===!1)return null;if(e===!0)return{...u};if(typeof e!="object")throw new Error("@webority/analytics: webVitals takes true or { sampleRate, softNavigations, deployVersion }.");let t=e.sampleRate??u.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.");return{sampleRate:t,softNavigations:e.softNavigations!==!1,deployVersion:n}}function d(e,t){return t<e}function c({mobileHint:e,screenWidth:t}){return e===!0?"mobile":typeof t!="number"||t<=0?"unknown":t<768?"mobile":t<1024?"tablet":"desktop"}function y(e,t){if(typeof e!="string"||!e)return null;try{return new URL(e,t).pathname}catch{return null}}function b(e){return typeof e=="string"&&e?e.split(/[?#]/,1)[0]:null}var l=e=>typeof e=="number"&&Number.isFinite(e)?Math.round(e):null;function m(e,t){let n=e.name,i=n==="CLS"?Math.round(e.value*1e4)/1e4:l(e.value),r={[`$web_vitals_${n}_value`]:i,vital:n,value:i,rating:e.rating,metric_id:e.id,navigation_type:e.navigationType??null,path:y(e.navigationURL??t.pageUrl,t.pageUrl),deploy_version:t.deployVersion??null,device_class:t.deviceClass},o=e.attribution??{};return n==="INP"&&(r.inp_target=o.interactionTarget||null,r.inp_longest_script_url=b(o.longestScript?.entry?.sourceURL)),n==="LCP"&&(r.lcp_ttfb_ms=l(o.timeToFirstByte),r.lcp_resource_load_delay_ms=l(o.resourceLoadDelay),r.lcp_resource_load_duration_ms=l(o.resourceLoadDuration),r.lcp_element_render_delay_ms=l(o.elementRenderDelay)),r}var s={started:!1,send:null};function _(e,t,{load:n=()=>import("./web-vitals.attribution-NGD57Y3S.js"),roll:i=Math.random()}={}){if(s.send=t,s.started||(s.started=!0,!d(e.sampleRate,i)))return Promise.resolve();let r={deployVersion:e.deployVersion,deviceClass:c({mobileHint:globalThis.navigator?.userAgentData?.mobile,screenWidth:globalThis.screen?.width})},o=a=>{try{s.send?.("$web_vitals",m(a,{...r,pageUrl:globalThis.location?.href}))}catch{}},p={reportSoftNavs:e.softNavigations};return Promise.resolve().then(n).then(a=>{for(let f of[a.onLCP,a.onINP,a.onCLS,a.onFCP,a.onTTFB])f(o,p)}).catch(()=>{})}function v(){s.started=!1,s.send=null}export{g as a,d as b,c,m as d,_ as e,v as f};
@@ -0,0 +1 @@
1
+ var d=Object.defineProperty;var e=(b,a,c)=>a in b?d(b,a,{enumerable:!0,configurable:!0,writable:!0,value:c}):b[a]=c;var f=(b,a,c)=>e(b,typeof a!="symbol"?a+"":a,c);export{f as a};
@@ -0,0 +1 @@
1
+ import{a as Z}from"./chunk-JKZNJI5Q.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,i={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.');i.initialized=!0,i.strictOptIn=t,i.requiresOptIn=t||e.requiresOptIn,i.adStorage=e.adStorage??!t,i.cookieDays=e.cookieDays??se,i.cookieDomain=e.cookieDomain?.trim()??null,i.regionCookie=e.regionCookie??null,i.region=i.regionCookie?Ve(i.regionCookie):null;let{saved:n,entryCount:o}=qe();i.saved=n,i.cookieDomain&&o>1&&n&&pe(n),Be(),Ke(),i.saved?$(i.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(i.region=e,i.saved)return;let n=d();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(fe(),le(n))}function E(){return i.initialized}function ue(){return i.strictOptIn}function P(){return i.adStorage}function d(){M("getConsent");let e=i.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=!i.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function ze(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),i.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(!i.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function I(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function Be(){if(i.strictOptIn){I("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500});return}I("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500,region:[...U]});let e=i.adStorage?"granted":"denied";I("consent","default",{ad_storage:e,ad_user_data:e,ad_personalization:e,analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"})}function Ke(){I("set","ads_data_redaction",!0),I("set","url_passthrough",!0)}function de(){return i.requiresOptIn&&!i.strictOptIn&&i.region==="other"}function fe(){let e=d();$(e,e.analytics&&i.adStorage)}function $(e,t=e.marketing&&i.adStorage){let n=o=>o?"granted":"denied";I("consent","update",{analytics_storage:n(e.analytics),functionality_storage:n(e.functional),personalization_storage:n(e.functional),ad_storage:n(t),ad_user_data:n(t),ad_personalization:n(t)})}function qe(){let e=`${A}=`,t=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(e)),n=t.map(o=>He(o.slice(e.length))).filter(Boolean);return{saved:We(n),entryCount:t.length}}function Ve(e){let t=`${e}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(t))?.slice(t.length);return ce.includes(o)?o:null}function He(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)+i.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";i.cookieDomain&&ie(`${A}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=i.cookieDomain?`;domain=${i.cookieDomain}`:"";ie(`${A}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function ie(e){document.cookie=e}var N="webority_attribution",je=2160*60*60*1e3,Ye=200,G=500,Xe=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 Je(){Ee("captureAttribution"),tt();let e=Ze();if(!e)return;let t=V(z());_e(z(),{firstTouch:t?.firstTouch??e,lastTouch:e}),Qe(e)}function Qe(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"),V(z())}function Ze(){let e=new URLSearchParams(window.location.search),t={};for(let[r,c]of Object.entries(Xe)){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?K():B(),n=e.marketing?B():K(),o=V(t);nt(t),o&&_e(n,o)}))}function z(){return d().marketing?B():K()}function B(){try{return window.localStorage}catch{return null}}function K(){try{return window.sessionStorage}catch{return null}}function V(e){try{let t=e?.getItem(N);if(!t)return null;let n=JSON.parse(t),o=ge(n?.firstTouch),r=ge(n?.lastTouch);return!o&&!r?(e.removeItem(N),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function _e(e,t){try{e?.setItem(N,JSON.stringify(t))}catch{}}function nt(e){try{e?.removeItem(N)}catch{}}function ge(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-G2NSUBUS.js").then(n=>n.startWebVitals(e,t)).catch(()=>{})}var ot=["scroll","mousemove","touchstart","keydown","pointerdown"];function R(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 a=Object.freeze({SIGNUP_STARTED:"signup_started",SIGNUP_COMPLETED:"signup_completed",LOGIN_SUCCEEDED:"login_succeeded",ONBOARDING_STARTED:"onboarding_started",ONBOARDING_STEP_COMPLETED:"onboarding_step_completed",ONBOARDING_COMPLETED:"onboarding_completed",SUBSCRIPTION_ACTIVATED:"subscription_activated",SUBSCRIPTION_CANCELLED:"subscription_cancelled",PAYMENT_SUCCEEDED:"payment_succeeded",PAYMENT_FAILED:"payment_failed",FEEDBACK_SUBMITTED:"feedback_submitted",LEAD_SUBMITTED:"lead_submitted",LEAD_QUALIFIED:"lead_qualified",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",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),Gt=Object.freeze({signupStarted:a.SIGNUP_STARTED,signupCompleted:a.SIGNUP_COMPLETED,loginSucceeded:a.LOGIN_SUCCEEDED,onboardingStarted:a.ONBOARDING_STARTED,onboardingStepCompleted:a.ONBOARDING_STEP_COMPLETED,onboardingCompleted:a.ONBOARDING_COMPLETED,subscriptionActivated:a.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:a.SUBSCRIPTION_CANCELLED,paymentSucceeded:a.PAYMENT_SUCCEEDED,paymentFailed:a.PAYMENT_FAILED,feedbackSubmitted:a.FEEDBACK_SUBMITTED,leadSubmitted:a.LEAD_SUBMITTED,leadQualified:a.LEAD_QUALIFIED,leadWon:a.LEAD_WON,whatsappClick:a.WHATSAPP_CLICK,calculatorUse:a.CALCULATOR_USE,phoneClick:a.PHONE_CLICK,demoBooked:a.DEMO_BOOKED,contactSubmitted:a.CONTACT_SUBMITTED,trialStartClick:a.TRIAL_START_CLICK,sampleReportDownload:a.SAMPLE_REPORT_DOWNLOAD,reportVerified:a.REPORT_VERIFIED,contentEngaged:a.CONTENT_ENGAGED,emailClick:a.EMAIL_CLICK,pageNotFound:a.PAGE_NOT_FOUND,chatOpened:a.CHAT_OPENED,tourStarted:a.TOUR_STARTED,tourStepViewed:a.TOUR_STEP_VIEWED,tourCompleted:a.TOUR_COMPLETED,tourSkipped:a.TOUR_SKIPPED}),Ce=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;var rt=50;function Se(){let e=new Set(Object.values(a)),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=Se(),l={config:null,posthogInstance:null,posthogInitPromise:null,warnedUnregisteredEvents:D.warned,pendingIdentify:null};function Ht(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 Ie(){return at()&&L()}var k=new Set,he=new WeakSet,Te=null;function Yt(e){let t=H();if(!t)return!1;try{return t.isFeatureEnabled(e)===!0}catch{return!1}}function Xt(e){let t=H();if(!t)return null;try{return t.getFeatureFlag(e)??null}catch{return null}}function Jt(e){k.add(e);let t=H();return(!t||Te===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(()=>{Te=e;for(let t of[...k])Oe(t)}))}function H(){return l.config?.featureFlags!==!0||!Ie()?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(_=>!st.has(_t(_))).map(gt);if(s.length===c.length&&s.every((_,T)=>_===c[T]))return n+o;let p=n.slice(0,r),S=s.filter(_=>_!=="").join("&");return(S?`${p}?${S}`: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 gt(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 _t(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:S=!1,webVitals:_=!1}={}){if(!E())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");let T=Z(_);!c||!e||!t||r==="Local"||u.config||(u.config={host:e,clientKey:t,product:n,surface:o,environment:r,sessionRecording:s,heatmaps:p,captureExceptions:S,webVitals:T},u.stopFollowingConsent=y(C=>It(C.analytics)),R(()=>{Promise.resolve().then(u.loadPosthog).then(C=>St(C.default??C)).catch(()=>{u.failed=!0,u.pending=[]})}))}function St(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 It(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 Tt(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,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=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=()=>J("https://analytics.ahrefs.com/analytics.js",{"data-key":r});c?Ne(p=>p.analytics,s):s()}if(t){let s=P(),p=Q=>Q.analytics||Q.marketing&&s,S=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),J(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},_=d(),T=_.decided&&p(_)?Rt:R,C=()=>T(S);c?Ne(p,C):C()}o&&(g.clarityId=o,d().analytics&&Dt(),y(s=>{s.analytics&&!g.clarityLoaded?X():g.clarityLoaded&&Re(s)}))}function Ne(e,t){if(e(d())){t();return}let n=y(o=>{e(o)&&(n(),t())})}function Rt(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function Dt(){let e=()=>{window.scrollY>bt&&X()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(X,At);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)},Re(d()),J(`https://www.clarity.ms/tag/${encodeURIComponent(g.clarityId)}`,{crossorigin:"anonymous"}))}function Re(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{Me as a,A as b,ae as c,$e as d,Ge as e,E as f,d as g,ze as h,y as i,a as j,Gt as k,D as l,l as m,Ht as n,at as o,L as p,Yt as q,Xt as r,Jt as s,on as t,f as u,w as v,x as w,Je as x,q as y,Ct as z,Tt as A,wt as B,Nt as C};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{A as H,B as M,C as Y,a as v,b as P,c as S,d as F,e as N,f as _,g as U,h as j,i as m,j as a,k as b,l as C,m as n,n as O,o as s,p as i,q as K,r as D,s as L,t as c,u as W,v as G,w as V,x as q,y as z}from"./chunk-PFET46V5.js";var T=null,p=new Map,B="workspace";function J(t){if(!_())throw new Error("@webority/analytics: call initConsent before initAnalytics.");T?.(),T=m(e=>X(e.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:t.webVitals??!1,featureFlags:t.featureFlags===!0}),s()&&Q()}function Q(){let t=()=>{s()&&R()};typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:3e3}):setTimeout(t,0)}function R(){c().catch(()=>{})}function X(t){if(s()){if(t){n.posthogInstance?(n.posthogInstance.opt_in_capturing(),x(n.posthogInstance),w(n.posthogInstance)):c().then(e=>{x(e),e&&w(e)}).catch(()=>{});return}!n.posthogInstance&&!n.posthogInitPromise&&R(),Z()}}function x(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 w(t){n.config?.featureFlags===!0&&i()&&t.reloadFeatureFlags?.()}function Z(){if(n.posthogInstance){n.posthogInstance.opt_out_capturing();return}n.posthogInitPromise&&n.posthogInitPromise.then(t=>{i()||t?.opt_out_capturing()}).catch(()=>{})}function $(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 tt(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 et(){n.pendingIdentify=null,p.clear(),n.posthogInstance&&n.posthogInstance.reset()}function u(t,e={}){C.accept(t,n.config?.logger)&&nt(t,e)}function nt(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 ot(){if(typeof document>"u")return()=>{};for(let[t,e]of Object.entries(k))document.addEventListener(t,e);return()=>{for(let[t,e]of Object.entries(k))document.removeEventListener(t,e)}}function rt(t){d(a.TOUR_STARTED,t,{step_count:f(t.detail?.total)})}function it(t){d(a.TOUR_STEP_VIEWED,t,{step_position:f(t.detail?.position),step_count:f(t.detail?.total)})}function st(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 k={"wui-tour:start":rt,"wui-tour:step":it,"wui-tour:close":st};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[A,y]of Object.entries(o))y!==void 0&&(g[A]=y);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 at=Object.freeze(Object.fromEntries(Object.entries(b).map(([t,e])=>[t,(o={})=>u(e,o)])));export{S as CONSENT_CHANGE_EVENT,P as CONSENT_COOKIE_NAME,B as WORKSPACE_GROUP_TYPE,q as captureAttribution,W as channels,a as events,z as getAttribution,U as getConsent,D as getFeatureFlag,tt as group,$ as identify,J as initAnalytics,F as initConsent,K as isFeatureEnabled,Y as loadTags,m as onConsentChange,L as onFeatureFlags,M as registerEvents,v as requiresOptIn,et as resetIdentity,V as resolveAiSource,G as resolveChannel,j as saveConsent,N as setConsentRegion,at as track,u as trackEvent,H as trackSiteEvent,ot 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-SR72OIQ6.js";import{a as w,e as T}from"./chunk-JKZNJI5Q.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};
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-PFET46V5.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-SR72OIQ6.js";import"./chunk-JKZNJI5Q.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};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f}from"./chunk-JKZNJI5Q.js";import"./chunk-O2XFH626.js";export{d as buildVitalsProperties,c as deviceClass,b as isSampled,a as normalizeWebVitalsOption,f as resetWebVitalsForTests,e as startWebVitals};
@@ -0,0 +1 @@
1
+ import{a as M}from"./chunk-O2XFH626.js";var K=class{constructor(){M(this,"t");M(this,"o",0);M(this,"i",[])}l(t){if(t.hadRecentInput)return;let o=this.i[0],r=this.i.at(-1);this.o&&o&&r&&t.startTime-r.startTime<1e3&&t.startTime-o.startTime<5e3?(this.o+=t.value,this.i.push(t)):(this.o=t.value,this.i=[t]),this.t?.(t)}},j=()=>{let e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},H=e=>{if(document.readyState==="loading")return"loading";let t=j();if(t){if(e<t.domInteractive)return"loading";if(t.domContentLoadedEventStart===0||e<t.domContentLoadedEventStart)return"dom-interactive";if(t.domComplete===0||e<t.domComplete)return"dom-content-loaded"}return"complete"},wt=e=>{let t=e.nodeName;return e.nodeType===1?t.toLowerCase():t.toUpperCase().replace(/^#/,"")},gt=e=>{let t="";try{for(;e?.nodeType!==9;){let o=e,r=o.id?"#"+o.id:[wt(o),...Array.from(o.classList??[]).sort()].join(".");if(t.length+r.length>99)return t||r;if(t=t?r+">"+t:r,o.id)break;e=o.parentNode}}catch{}return t},vt=new WeakMap;function F(e,t){let o=vt.get(t);return o||(o=new WeakMap,vt.set(t,o)),o.get(e)||o.set(e,new t),o.get(e)}var Et=-1,R=()=>Et,N=e=>{addEventListener("pageshow",t=>{t.persisted&&(Et=t.timeStamp,e(t))},!0)},E=(e,t,o,r)=>{let a,n;return i=>{t.value>=0&&(i||r)&&(n=t.value-(a??0),(n||a===void 0)&&(a=t.value,t.delta=n,t.rating=((s,c)=>s>c[1]?"poor":s>c[0]?"needs-improvement":"good")(t.value,o),e(t)))}},mt=e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))},$=()=>j()?.activationStart??0,B=-1,Ct=new Set,Tt=()=>document.visibilityState!=="hidden"||document.prerendering?1/0:0,ct=e=>{if(document.visibilityState==="hidden"){if(e.type==="visibilitychange")for(let t of Ct)t();isFinite(B)||(B=e.type==="visibilitychange"?e.timeStamp:0,removeEventListener("prerenderingchange",ct,!0))}},z=(e=!1)=>{if(e&&(B=1/0),B<0){let t=$();B=(document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").find(r=>r.name==="hidden"&&r.startTime>=t)?.startTime)??Tt(),addEventListener("visibilitychange",ct,!0),addEventListener("prerenderingchange",ct,!0),N(()=>{setTimeout(()=>{B=Tt()})})}return{get firstHiddenTime(){return B},onHidden(t){Ct.add(t)}}},L=(e,t=-1,o,r=0,a,n,i)=>{let s=j(),c=s?.navigationId||0,l="navigate";return o?l=o:R()>=0?l="back-forward-cache":s&&(document.prerendering||$()>0?l="prerender":document.wasDiscarded?l="restore":s.type&&(l=s.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v6-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:l,navigationId:r||c,navigationInteractionId:a,navigationURL:n||s?.name,navigationStartTime:i||0}},w=(e,t,o={})=>{try{let r=e.filter(a=>PerformanceObserver.supportedEntryTypes.includes(a));if(r.length>0){let a=new PerformanceObserver(n=>{queueMicrotask(()=>{let i=n.getEntries();r.length>1&&i.sort((s,c)=>s.startTime+s.duration-(c.startTime+c.duration)),t(i)})});for(let n of r)a.observe({type:n,buffered:!0,...o});return a}}catch{}},O=e=>globalThis.PerformanceObserver?.supportedEntryTypes?.includes("soft-navigation")&&typeof globalThis.PerformanceSoftNavigation?.prototype?.getLargestInteractionContentfulPaint=="function"&&e&&e.reportSoftNavs,Mt=(e,t)=>{if(e.set(t.navigationId,t),e.size>2){let o=e.keys().next().value;o!==void 0&&e.delete(o)}},Lt=e=>{let t=!1;return()=>{t||(e(),t=!0)}},Q=class{constructor(){M(this,"u")}},Z=e=>{document.prerendering?addEventListener("prerenderingchange",e,!0):e()},at=[1800,3e3],kt=(e,t={})=>{let o=O(t);Z(()=>{let r=F(t,Q),a=z(),n,i=L("FCP"),s=w(["paint"],c=>{for(let l of c)l.name==="first-contentful-paint"&&(s.disconnect(),l.startTime<a.firstHiddenTime&&(i.value=Math.max(l.startTime-$(),0),i.entries.push(l),i.navigationId=l.navigationId||i.navigationId,n(!0)))});s&&(n=E(e,i,at,t.reportAllChanges),N(c=>{i=L("FCP",-1,"back-forward-cache",i.navigationId,i.navigationInteractionId,i.navigationURL,R()),n=E(e,i,at,t.reportAllChanges),mt(()=>{i.value=performance.now()-c.timeStamp,n(!0)})})),o&&w(["soft-navigation"],c=>{c.forEach(l=>{r.u&&l.navigationId&&Mt(r.u,l);let g=Math.max((l.presentationTime||l.paintTime||0)-l.startTime,0);i=L("FCP",g,"soft-navigation",l.navigationId,l.interactionId,l.name,l.startTime),n=E(e,i,at,t.reportAllChanges),n(!0)})},t)})},yt=[.1,.25],St=e=>e.find(t=>t.node?.nodeType===1)||e[0],xt=(e,t={})=>{let o=F(t=Object.assign({},t),K),r=new WeakMap;o.t=a=>{if(a?.sources?.length){let n=St(a.sources),i=n?.node;if(i){let s=t.generateTarget?.(i)??gt(i);r.set(n,s)}}},((a,n={})=>{let i=z();kt(Lt(()=>{let s,c=L("CLS",0),l=F(n,K),g=(p,d,h,v,I)=>{c=L("CLS",0,p,d,h,v,I),l.o=0,s=E(a,c,yt,n.reportAllChanges)},S=(p=!1)=>{l.o>c.value&&(c.value=l.o,c.entries=l.i),s(p)},D=p=>{S(!0),g("soft-navigation",p.navigationId,p.interactionId,p.name,p.startTime)},u=p=>{for(let d of p)d.entryType!=="soft-navigation"?l.l(d):D(d);S()},f=["layout-shift"];O(n)&&f.push("soft-navigation");let m=w(f,u);m&&(s=E(a,c,yt,n.reportAllChanges),i.onHidden(()=>{u(m.takeRecords()),s(!0)}),N(()=>{g("back-forward-cache",c.navigationId,c.navigationInteractionId,c.navigationURL,R()),mt(s)}),setTimeout(s))}))})(a=>{e((n=>{let i={};if(n.entries.length){let s=n.entries.reduce((c,l)=>c.value>l.value?c:l);if(s?.sources?.length){let c=St(s.sources);c&&(i={largestShiftTarget:r.get(c),largestShiftTime:s.startTime,largestShiftValue:s.value,largestShiftSource:c,largestShiftEntry:s,loadState:H(s.startTime)})}}return Object.assign(n,{attribution:i})})(a))},t)},Bt=(e,t={})=>{let o=F(t=Object.assign({},t),Q);O(t)&&(o.u=new Map),kt(r=>{e((a=>{let n={timeToFirstByte:0,firstByteToFCP:a.value,loadState:H(R())};if(a.navigationType!=="soft-navigation"){if(a.entries.length){let i=j(),s=a.entries.at(-1);if(i){let c=i.responseStart,l=i.activationStart||0,g=Math.max(0,c-l);n={timeToFirstByte:g,firstByteToFCP:a.value-g,loadState:H(a.entries[0].startTime),navigationEntry:i,fcpEntry:s}}}}else{let i=o.u?.get(a.navigationId);i&&(n={timeToFirstByte:0,firstByteToFCP:a.value,loadState:"complete",navigationEntry:i})}return Object.assign(a,{attribution:n})})(r))},t)},Dt=0,rt=1/0,G=0,At=e=>{for(let t of e)t.interactionId&&(rt=Math.min(rt,t.interactionId),G=Math.max(G,t.interactionId),Dt=G?(G-rt)/7+1:0)},lt,It=()=>lt?Dt:performance.interactionCount??0,Ft=()=>{"interactionCount"in performance||lt||(lt=w(["event"],At,{durationThreshold:0}))},X=class{constructor(){M(this,"h",0);M(this,"v",[]);M(this,"p",new Map);M(this,"m");M(this,"M")}T(){return It()-this.h}D(){this.h=It(),this.v.length=0,this.p.clear()}S(t){let o=this.T(),r=Math.min(this.v.length-1,Math.floor(o/50));return!o||r!==-1||t!=="soft-navigation"&&t!=="back-forward-cache"?this.v[r]:{k:8,id:-1,entries:[]}}l(t){if(this.m?.(t),!t.interactionId)return;let o=this.v.at(-1),r=this.p.get(t.interactionId);if(r||this.v.length<10||t.duration>o.k){if(r?t.duration>r.k?(r.entries=[t],r.k=t.duration):t.duration===r.k&&t.startTime===r.entries[0].startTime&&r.entries.push(t):(r={id:t.interactionId,entries:[t],k:t.duration},this.p.set(r.id,r),this.v.push(r)),this.v.sort((a,n)=>n.k-a.k),this.v.length>10){let a=this.v.splice(10);for(let n of a)this.p.delete(n.id)}this.M?.(r)}}},dt=e=>{let t="requestIdleCallback"in globalThis?1e3:0,o=globalThis.requestIdleCallback||setTimeout,r=globalThis.cancelIdleCallback||clearTimeout;if(document.visibilityState==="hidden")e();else{let a=Lt(e),n=-1,i=()=>{r(n),a()};addEventListener("visibilitychange",i,{once:!0,capture:!0}),n=o(()=>{removeEventListener("visibilitychange",i,{capture:!0}),a()},{timeout:t})}},bt=[200,500],Ot=(e,t={})=>{let o=F(t=Object.assign({},t),X),r=[],a=[],n=0,i=new WeakMap,s=new WeakMap,c=!1,l=()=>{c||(c=!0,dt(g))},g=()=>{let u=new Set(o.v.map(d=>i.get(d.entries[0]))),f=a.length-10;a=a.filter((d,h)=>h>=f||u.has(d));let m=new Set;for(let d of a){let h=S(d.startTime,d.processingEnd);for(let v of h)m.add(v)}let p=r.length-10;r=r.filter((d,h)=>m.has(d)||h>=p&&d.startTime>n),c=!1};o.m=u=>{let f=u.startTime+u.duration,m;n=Math.max(n,u.processingEnd);for(let p=a.length-1;p>=0;p--){let d=a[p];if(Math.abs(f-d.renderTime)<=8){m=d,m.startTime=Math.min(u.startTime,m.startTime),m.processingStart=Math.min(u.processingStart,m.processingStart),m.processingEnd=Math.max(u.processingEnd,m.processingEnd),t.includeProcessedEventEntries&&m.entries.push(u);break}}m||(m={startTime:u.startTime,processingStart:u.processingStart,processingEnd:u.processingEnd,renderTime:f,entries:t.includeProcessedEventEntries?[u]:[]},a.push(m)),u.interactionId&&i.set(u,m),l()},o.M=u=>{if(!s.get(u)){let f=u.entries.find(m=>m.target)?.target;if(f){let m=t.generateTarget?.(f)??gt(f);s.set(u,m)}else{let m=u.entries.find(p=>p.targetSelector)?.targetSelector;m&&s.set(u,m)}}};let S=(u,f)=>{let m=[];for(let p of r)if(!(p.startTime+p.duration<u)){if(p.startTime>f)break;m.push(p)}return m},D=u=>{if(u.entries.length===0){let T=u.navigationStartTime||0,b={processedEventEntries:[],longAnimationFrameEntries:[],inputDelay:0,processingDuration:0,presentationDelay:u.value,loadState:H(T)};return Object.assign(u,{attribution:b})}let f=u.entries[0],m=i.get(f),p=Math.max(m.processingStart,f.startTime),d=Math.max(f.startTime+f.duration,p),h=Math.min(m.processingEnd,d),v=m.entries.sort((T,b)=>T.processingStart-b.processingStart),I=S(f.startTime,h),k=o.p.get(f.interactionId),C={interactionTarget:s.get(k),interactionType:f.name.startsWith("key")?"keyboard":"pointer",interactionTime:f.startTime,nextPaintTime:d,processedEventEntries:v,longAnimationFrameEntries:I,inputDelay:p-f.startTime,processingDuration:h-p,presentationDelay:d-h,loadState:H(f.startTime),longestScript:void 0,totalScriptDuration:void 0,totalStyleAndLayoutDuration:void 0,totalPaintDuration:void 0,totalUnattributedDuration:void 0};return(T=>{let b=T.interactionTime,y=T.nextPaintTime;if(!T.longAnimationFrameEntries?.length||!b||!y)return;let x=T.inputDelay,A=T.processingDuration,q,U,tt=0,W=0,et=0,nt=0;for(let V of T.longAnimationFrameEntries){W=W+V.startTime+V.duration-V.styleAndLayoutStart;for(let P of V.scripts){let pt=P.startTime+P.duration;if(pt<b)continue;let _=pt-Math.max(b,P.startTime),ht=P.duration?_/P.duration*P.forcedStyleAndLayoutDuration:0;tt+=_-ht,W+=ht,_>nt&&(U=P.startTime<b+x?"input-delay":P.startTime>=b+x+A?"presentation-delay":"processing-duration",q=P,nt=_)}}let it=T.longAnimationFrameEntries.at(-1),ft=it?it.startTime+it.duration:0;ft>=b+x+A&&(et=y-ft),q&&U&&(T.longestScript={entry:q,subpart:U,intersectingDuration:nt}),T.totalScriptDuration=tt,T.totalStyleAndLayoutDuration=W,T.totalPaintDuration=et,T.totalUnattributedDuration=y-b-tt-W-et})(C),Object.assign(u,{attribution:C})};w(["long-animation-frame"],u=>{r=r.concat(u),l()},t),((u,f={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;let m=z();Z(()=>{Ft();let p,d=L("INP"),h=F(f,X),v=(y,x,A,q,U)=>{h.D(),d=L("INP",-1,y,x,A,q,U),p=E(u,d,bt,f.reportAllChanges)},I=()=>{let y=h.S(d.navigationType);y&&y.k!==d.value&&(d.value=y.k,d.entries=y.entries,p())},k=y=>{I(),p(!0),v("soft-navigation",y.navigationId,y.interactionId,y.name,y.startTime)},C=(y,x=!1)=>{dt(()=>{for(let A of y)A.entryType!=="soft-navigation"?h.l(A):k(A);I(),x&&p(!0)})},T=["event","first-input"];O(f)&&T.push("soft-navigation");let b=w(T,C,{...f,durationThreshold:f.durationThreshold??40});p=E(u,d,bt,f.reportAllChanges),b&&(m.onHidden(()=>{C(b.takeRecords(),!0)}),N(()=>{v("back-forward-cache",d.navigationId,d.navigationInteractionId,d.navigationURL,R())}))})})(u=>{e(D(u))},t)},Y=class{constructor(){M(this,"m");M(this,"u")}l(t){this.m?.(t)}},ot=[2500,4e3],Pt=50,J=[];w(["resource"],e=>{for(let t of e)J.push(t),J.length>Pt&&J.shift()});var Rt=(e,t={})=>{(t=Object.assign({},t)).resourceBufferSize!=null&&(Pt=t.resourceBufferSize);let o=F(t,Y),r=new WeakMap;O(t)&&(o.u=new Map),o.m=a=>{let n=a.element;if(n){let i=t.generateTarget?.(n)??gt(n);r.set(a,i)}else a.id&&r.set(a,`#${a.id}`)},((a,n={})=>{let i=!1,s=O(n);Z(()=>{let c,l=z(),g=L("LCP"),S=F(n,Y),D=(d,h,v,I,k)=>{g=L("LCP",-1,d,h,v,I,k),c=E(a,g,ot,n.reportAllChanges),i=!1,d==="soft-navigation"&&(l=z(!0))},u=d=>{S.u&&d.navigationId&&Mt(S.u,d),i||c(!0),D("soft-navigation",d.navigationId,d.interactionId,d.name,d.startTime);let h=d.getLargestInteractionContentfulPaint?.();h&&f([h])},f=d=>{n.reportAllChanges||s||(d=d.slice(-1));for(let h of d){if(!h)continue;if(h.entryType==="soft-navigation"){u(h);continue}let v=0,I=[],k=h.startTime;if(h.entryType==="largest-contentful-paint")v=Math.max(h.startTime-$(),0),S.l(h),I=[h];else if(h.entryType==="interaction-contentful-paint"){let C=h;if(!g.navigationId||"interactionId"in C&&C.interactionId!=g.navigationInteractionId)continue;k=C.largestContentfulPaint?.renderTime||0,v=Math.max(k-h.startTime,0),C.largestContentfulPaint&&(S.l(C.largestContentfulPaint),I=[C.largestContentfulPaint])}k<l.firstHiddenTime&&(g.value=v,g.entries=I,c())}},m=["largest-contentful-paint"];s&&m.push("interaction-contentful-paint","soft-navigation");let p=w(m,f);if(p){c=E(a,g,ot,n.reportAllChanges);let d=["keydown","click","visibilitychange"],h=v=>{if(v.isTrusted&&!i){let I=g.id;dt(()=>{if(!i){if(!s){p.disconnect();for(let k of d)removeEventListener(k,h,{capture:!0})}I===g.id&&(i=!0,c(!0))}})}};for(let v of d)addEventListener(v,h,{capture:!0});N(v=>{D("back-forward-cache",g.navigationId,g.navigationInteractionId,g.navigationURL,R()),c=E(a,g,ot,n.reportAllChanges),mt(()=>{g.value=performance.now()-v.timeStamp,i=!0,c(!0)})})}})})(a=>{e((n=>{let i={timeToFirstByte:0,resourceLoadDelay:0,resourceLoadDuration:0,elementRenderDelay:n.value};if(n.entries.length){let s=n.entries.at(-1),c=u=>u.name===s.url&&(u.requestStart||u.startTime)<=s.startTime,l=s.url&&(J.findLast(c)||performance.getEntriesByType("resource").findLast(c)),g;i.target=r.get(s),i.lcpEntry=s,s.url&&(i.url=s.url),l&&(i.lcpResourceEntry=l);let S=0,D=0;if(n.navigationType!=="soft-navigation"?(g=j(),S=g?.activationStart??0,D=g?.responseStart??0):(S=n.navigationStartTime||0,g=o.u?.get(n.navigationId)),g){let u=Math.max(0,D-S),f=Math.max(u,l?(l.requestStart||l.startTime)-S:0),m=Math.min(n.value,Math.max(f,l?l.responseEnd-S:0));i={...i,timeToFirstByte:u,resourceLoadDelay:f-u,resourceLoadDuration:m-f,elementRenderDelay:n.value-m,navigationEntry:g}}}return Object.assign(n,{attribution:i})})(a))},t)},st=[800,1800],ut=e=>{document.prerendering?Z(()=>ut(e)):document.readyState!=="complete"?addEventListener("load",()=>ut(e),!0):setTimeout(e)},jt=(e,t={})=>{((o,r={})=>{let a=O(r),n=L("TTFB"),i=E(o,n,st,r.reportAllChanges);ut(()=>{let s=j();if(s){let c=s.responseStart;n.value=Math.max(c-$(),0),n.entries=[s],i(!0),N(()=>{n=L("TTFB",0,"back-forward-cache",n.navigationId,n.navigationInteractionId,n.navigationURL,R()),i=E(o,n,st,r.reportAllChanges),i(!0)}),a&&w(["soft-navigation"],l=>{l.forEach(g=>{g.navigationId&&(n=L("TTFB",0,"soft-navigation",g.navigationId,g.interactionId,g.name,g.startTime),n.entries=[g],i=E(o,n,st,r.reportAllChanges),i(!0))})},r)}})})(o=>{e((r=>{let a=r.entries[0],n={waitingDuration:0,cacheDuration:0,dnsDuration:0,connectionDuration:0,requestDuration:0,navigationEntry:a};if(r.entries.length&&a instanceof PerformanceNavigationTiming){let i=a.activationStart||0,s=Math.max((a.workerStart||a.fetchStart||0)-i,0),c=Math.max(a.domainLookupStart-i,0),l=Math.max(a.connectStart-i,0),g=Math.max(a.connectEnd-i,0);n={waitingDuration:s,cacheDuration:c-s,dnsDuration:l-c,connectionDuration:g-l,requestDuration:r.value-g,navigationEntry:a}}return Object.assign(r,{attribution:n})})(o))},t)};export{yt as CLSThresholds,at as FCPThresholds,bt as INPThresholds,ot as LCPThresholds,st as TTFBThresholds,xt as onCLS,Bt as onFCP,Ot as onINP,Rt as onLCP,jt as onTTFB};
@@ -1 +1 @@
1
- var WeborityAnalytics=(()=>{var k=Object.defineProperty;var xe=Object.getOwnPropertyDescriptor;var Ue=Object.getOwnPropertyNames;var Pe=Object.prototype.hasOwnProperty;var Me=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(o){throw n=[o],o}};var W=(e,t)=>{for(var n in t)k(e,n,{get:t[n],enumerable:!0})},Fe=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ue(t))!Pe.call(e,r)&&r!==n&&k(e,r,{get:()=>t[r],enumerable:!(o=xe(t,r))||o.enumerable});return e};var $e=e=>Fe(k({},"__esModule",{value:!0}),e);var we={};W(we,{default:()=>It});function ht(){let e=[];e._i=[],e.__SV=1,e.people=[];for(let t of Ie)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 Ie,Te,It,Oe=Me(()=>{Ie=["capture","register","opt_in_capturing","opt_out_capturing"];Te={init(e,t){window.posthog||ht(),window.posthog.init(e,t)}};for(let e of Ie)Te[e]=(...t)=>window.posthog[e](...t);It=Te});var vt={};W(vt,{CONSENT_CHANGE_EVENT:()=>U,CONSENT_COOKIE_NAME:()=>T,captureAttribution:()=>me,channels:()=>l,events:()=>s,getAttribution:()=>N,getConsent:()=>d,initConsent:()=>re,initSiteAnalytics:()=>Ae,loadTags:()=>ke,onConsentChange:()=>g,registerEvents:()=>De,requiresOptIn:()=>ee,resolveAiSource:()=>O,resolveChannel:()=>C,saveConsent:()=>ae,setConsentRegion:()=>ie,trackSiteEvent:()=>Re});var Ge=["google","googleads","adwords","youtube"],ze=["meta","facebook","fb","instagram","ig","messenger"],Be=["linkedin","lnkd"],Ke=["bing","microsoft","microsoftads","msn"],Y=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"]]]),qe=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],He=["google","yandex"],je=["facebook.com","fb.com","instagram.com","linkedin.com","lnkd.in","twitter.com","t.co","x.com","reddit.com","pinterest.com","youtube.com","youtu.be","tiktok.com","whatsapp.com","threads.net","t.me","telegram.org"],l=Object.freeze({DIRECT:"direct",GOOGLE:"google",META:"meta",LINKEDIN:"linkedin",MICROSOFT:"microsoft",OTHER:"other",AI_ASSISTANT:"ai_assistant",ORGANIC_SEARCH:"organic_search",ORGANIC_SOCIAL:"organic_social",REFERRAL:"referral"});function C(e){if(!e)return l.DIRECT;let t=p(e.utmSource);if(t){let r=w(t);if(Ge.includes(r))return l.GOOGLE;if(ze.includes(r))return l.META;if(Be.includes(r))return l.LINKEDIN;if(Ke.includes(r))return l.MICROSOFT}if(p(e.fbclid))return l.META;if(p(e.gclid)||p(e.gbraid)||p(e.wbraid))return l.GOOGLE;if(p(e.liFatId))return l.LINKEDIN;if(p(e.msclkid))return l.MICROSOFT;if(Q(t))return l.AI_ASSISTANT;if(t||p(e.utmMedium)||p(e.utmCampaign)||p(e.utmContent)||p(e.utmTerm))return l.OTHER;let o=Z(e.referrer);return o?X(o)?l.AI_ASSISTANT:Ve(o)?l.ORGANIC_SEARCH:je.some(r=>J(o,r))?l.ORGANIC_SOCIAL:l.REFERRAL:l.DIRECT}function O(e){if(!e)return"";let t=Q(p(e.utmSource));if(t)return t;let n=Z(e.referrer);return n?X(n):""}function Q(e){if(!e)return"";let t=w(e);for(let[n,o]of Y)if(w(n)===t||o.some(r=>w(r)===t))return n;return""}function X(e){for(let[t,n]of Y)if(n.some(o=>J(e,o)))return t;return""}function Ve(e){return qe.includes(e)?!0:He.some(t=>{if(!e.startsWith(`${t}.`))return!1;let n=e.slice(t.length+1).split(".");return n.length===1||n.length===2&&(n[0]==="co"||n[0]==="com")})}function J(e,t){return e===t||e.endsWith(`.${t}`)}function Z(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 w(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 ee(e){let t=typeof e=="string"?e.trim().toUpperCase():"";return t.length!==2||t==="XX"||t==="T1"?!0:v.includes(t)}var T="webority_cookie_consent",U="webority-consent-change",ne=365,i={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:ne,cookieDomain:null,regionCookie:null,region:null,saved:null},oe=["eea","other"],x=new Set;function re(e){let t=e?.strictOptIn??!1;if(typeof t!="boolean")throw new Error("@webority/analytics: initConsent strictOptIn must be true or false, or left out.");if(t){if(e.requiresOptIn!==void 0&&e.requiresOptIn!==!0)throw new Error("@webority/analytics: initConsent strictOptIn asks every visitor to opt in, so requiresOptIn must be true or left out.")}else if(typeof e?.requiresOptIn!="boolean")throw new Error("@webority/analytics: initConsent needs requiresOptIn (true or false), decided from the visitor's country.");if(e.cookieDomain!==void 0&&(typeof e.cookieDomain!="string"||!e.cookieDomain.trim()))throw new Error('@webority/analytics: initConsent cookieDomain must be a domain such as ".example.com", or left out.');if(e.cookieDays!==void 0&&!(Number.isInteger(e.cookieDays)&&e.cookieDays>0))throw new Error("@webority/analytics: initConsent cookieDays must be a whole number of days above zero, or left out.");if(e.adStorage!==void 0&&typeof e.adStorage!="boolean")throw new Error("@webority/analytics: initConsent adStorage must be true or false, or left out.");if(e.regionCookie!==void 0&&(typeof e.regionCookie!="string"||!/^[\w.-]+$/.test(e.regionCookie)))throw new Error('@webority/analytics: initConsent regionCookie must be a cookie name such as "wui_region", or left out.');i.initialized=!0,i.strictOptIn=t,i.requiresOptIn=t||e.requiresOptIn,i.adStorage=e.adStorage??!t,i.cookieDays=e.cookieDays??ne,i.cookieDomain=e.cookieDomain?.trim()??null,i.regionCookie=e.regionCookie??null,i.region=i.regionCookie?Xe(i.regionCookie):null;let{saved:n,entryCount:o}=Qe();i.saved=n,i.cookieDomain&&o>1&&n&&de(n),We(),Ye(),i.saved?F(i.saved):ue()&&le()}function ie(e){if(M("setConsentRegion"),!oe.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=d();if(i.region=e,i.saved)return;let n=d();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(le(),ce(n))}function h(){return i.initialized}function se(){return i.strictOptIn}function P(){return i.adStorage}function d(){M("getConsent");let e=i.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=!i.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function ae(e){M("saveConsent");let t={essential:!0,analytics:e?.analytics===!0,functional:e?.functional===!0,marketing:e?.marketing===!0,timestamp:new Date().toISOString()};de(t),i.saved=t,F(t),ce(d())}function g(e){return x.add(e),()=>x.delete(e)}function ce(e){for(let t of x)try{t(e)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(U,{detail:e}))}function M(e){if(!i.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function S(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function We(){if(i.strictOptIn){S("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500});return}S("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500,region:[...v]});let e=i.adStorage?"granted":"denied";S("consent","default",{ad_storage:e,ad_user_data:e,ad_personalization:e,analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"})}function Ye(){S("set","ads_data_redaction",!0),S("set","url_passthrough",!0)}function ue(){return i.requiresOptIn&&!i.strictOptIn&&i.region==="other"}function le(){let e=d();F(e,e.analytics&&i.adStorage)}function F(e,t=e.marketing&&i.adStorage){let n=o=>o?"granted":"denied";S("consent","update",{analytics_storage:n(e.analytics),functionality_storage:n(e.functional),personalization_storage:n(e.functional),ad_storage:n(t),ad_user_data:n(t),ad_personalization:n(t)})}function Qe(){let e=`${T}=`,t=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(e)),n=t.map(o=>Je(o.slice(e.length))).filter(Boolean);return{saved:Ze(n),entryCount:t.length}}function Xe(e){let t=`${e}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(t))?.slice(t.length);return oe.includes(o)?o:null}function Je(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 Ze(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 de(e){let t=typeof e.timestamp=="string"?Date.parse(e.timestamp):Number.NaN,n=(Number.isNaN(t)?Date.now():t)+i.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";i.cookieDomain&&te(`${T}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=i.cookieDomain?`;domain=${i.cookieDomain}`:"";te(`${T}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function te(e){document.cookie=e}var b="webority_attribution",et=2160*60*60*1e3,tt=200,$=500,nt=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"}),fe=!1;function me(){ge("captureAttribution"),st();let e=rt();if(!e)return;let t=K(G());_e(G(),{firstTouch:t?.firstTouch??e,lastTouch:e}),ot(e)}function ot(e){let t={event:"acquisition_touch",acquisition_channel:C(e)};e.aiSource&&(t.ai_source=e.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(t)}function N(){return ge("getAttribution"),K(G())}function rt(){let e=new URLSearchParams(window.location.search),t={};for(let[r,c]of Object.entries(nt)){let a=A(e.get(r),tt);a&&(t[c]=a)}let n=A(e.get("referrer"),$)||it();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 it(){let e=document.referrer;if(!e)return"";try{return new URL(e).hostname===window.location.hostname?"":A(e,$)}catch{return""}}function st(){fe||(fe=!0,g(e=>{let t=e.marketing?B():z(),n=e.marketing?z():B(),o=K(t);at(t),o&&_e(n,o)}))}function G(){return d().marketing?z():B()}function z(){try{return window.localStorage}catch{return null}}function B(){try{return window.sessionStorage}catch{return null}}function K(e){try{let t=e?.getItem(b);if(!t)return null;let n=JSON.parse(t),o=pe(n?.firstTouch),r=pe(n?.lastTouch);return!o&&!r?(e.removeItem(b),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function _e(e,t){try{e?.setItem(b,JSON.stringify(t))}catch{}}function at(e){try{e?.removeItem(b)}catch{}}function pe(e){if(!e||typeof e!="object")return null;let t=Date.parse(e.capturedDateTimeUtc);return Number.isFinite(t)&&Date.now()-t<=et?e:null}function A(e,t){let n=String(e??"").trim();return n?n.slice(0,t):""}function ge(e){if(!h())throw new Error(`@webority/analytics: call initConsent before ${e}.`)}var ct=["scroll","mousemove","touchstart","keydown","pointerdown"];function R(e){let t=!1,n=()=>{t||(t=!0,e())};for(let o of ct)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,1500):window.addEventListener("load",()=>setTimeout(n,1500),{once:!0})}var s=Object.freeze({SIGNUP_STARTED:"signup_started",SIGNUP_COMPLETED:"signup_completed",LOGIN_SUCCEEDED:"login_succeeded",ONBOARDING_STARTED:"onboarding_started",ONBOARDING_STEP_COMPLETED:"onboarding_step_completed",ONBOARDING_COMPLETED:"onboarding_completed",SUBSCRIPTION_ACTIVATED:"subscription_activated",SUBSCRIPTION_CANCELLED:"subscription_cancelled",PAYMENT_SUCCEEDED:"payment_succeeded",PAYMENT_FAILED:"payment_failed",FEEDBACK_SUBMITTED:"feedback_submitted",LEAD_SUBMITTED:"lead_submitted",LEAD_QUALIFIED:"lead_qualified",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",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),Kt=Object.freeze({signupStarted:s.SIGNUP_STARTED,signupCompleted:s.SIGNUP_COMPLETED,loginSucceeded:s.LOGIN_SUCCEEDED,onboardingStarted:s.ONBOARDING_STARTED,onboardingStepCompleted:s.ONBOARDING_STEP_COMPLETED,onboardingCompleted:s.ONBOARDING_COMPLETED,subscriptionActivated:s.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:s.SUBSCRIPTION_CANCELLED,paymentSucceeded:s.PAYMENT_SUCCEEDED,paymentFailed:s.PAYMENT_FAILED,feedbackSubmitted:s.FEEDBACK_SUBMITTED,leadSubmitted:s.LEAD_SUBMITTED,leadQualified:s.LEAD_QUALIFIED,leadWon:s.LEAD_WON,whatsappClick:s.WHATSAPP_CLICK,calculatorUse:s.CALCULATOR_USE,phoneClick:s.PHONE_CLICK,demoBooked:s.DEMO_BOOKED,contactSubmitted:s.CONTACT_SUBMITTED,trialStartClick:s.TRIAL_START_CLICK,sampleReportDownload:s.SAMPLE_REPORT_DOWNLOAD,reportVerified:s.REPORT_VERIFIED,contentEngaged:s.CONTENT_ENGAGED,emailClick:s.EMAIL_CLICK,pageNotFound:s.PAGE_NOT_FOUND,chatOpened:s.CHAT_OPENED,tourStarted:s.TOUR_STARTED,tourStepViewed:s.TOUR_STEP_VIEWED,tourCompleted:s.TOUR_COMPLETED,tourSkipped:s.TOUR_SKIPPED}),Ee=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;var ut=50;function ye(){let e=new Set(Object.values(s)),t=new Set;return{warned:t,register(n){for(let o of n){if(!Ee.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:(lt(t,n,o),!1)}}}function lt(e,t,n){if(e.has(t))return;e.size<ut&&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=ye(),Wt={config:null,posthogInstance:null,posthogInitPromise:null,warnedUnregisteredEvents:D.warned,pendingIdentify:null};var dt=new Set(["token","code","email","access_token","id_token","state","session_state","password","search","q","query"]),ft=/(?:access_token|id_token|session_state|token|code|state|email|password)=/i,pt=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"],mt=4,_t=5,gt=6;function I(e){if(typeof e!="string")return e;let t=e.indexOf("#"),n=t===-1?e:e.slice(0,t),o=t===-1||ft.test(e.slice(t))?"":e.slice(t),r=n.indexOf("?");if(r===-1)return n+o;let c=n.slice(r+1).split("&"),a=c.filter(_=>!dt.has(St(_))).map(Ct);if(a.length===c.length&&a.every((_,E)=>_===c[E]))return n+o;let f=n.slice(0,r),y=a.filter(_=>_!=="").join("&");return(y?`${f}?${y}`: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])yt(r);let n=t?.$heatmap_data;if(n&&typeof n=="object"){let r={};for(let[c,a]of Object.entries(n)){let f=I(c);r[f]=r[f]?r[f].concat(a):a}t.$heatmap_data=r}if(t&&typeof t=="object"){for(let[r,c]of Object.entries(t))if(r.startsWith("$web_vitals_")&&r.endsWith("_event")&&c&&typeof c=="object")for(let a of["$current_url","navigationURL"])typeof c[a]=="string"&&(c[a]=I(c[a]))}let o=t?.$snapshot_data;if(e.event==="$snapshot"&&o&&typeof o=="object")for(let r of Array.isArray(o)?o:[o])Et(r);return e}function Et(e){let t=e?.data;if(!(!t||typeof t!="object")){if(e.type===mt)L(t,["href"]);else if(e.type===_t)L(t.payload,["href"]);else if(e.type===gt&&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]=I(e[n]))}function yt(e){L(e,pt)}function Ct(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=I(n);return o===n?e:`${e.slice(0,t)}=${encodeURIComponent(o)}`}function St(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 he(e){let t=e.sessionRecording??{enabled:!1},n={api_host:e.host,autocapture:!1,capture_pageview:"history_change",cookieless_mode:"on_reject",person_profiles:"identified_only",persistence:"localStorage+cookie",cross_subdomain_cookie:!0,disable_session_recording:!t.enabled,enable_heatmaps:e.heatmaps===!0,capture_exceptions:e.captureExceptions===!0,capture_performance:{web_vitals:e.webVitals===!0},disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!(t.enabled||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:I(o.name)}),recordBody:!1,recordHeaders:!1}),n}var Tt=()=>Promise.resolve().then(()=>(Oe(),we)),wt=100,u={config:null,posthog:null,pending:[],failed:!1,loadPosthog:Tt,stopFollowingConsent:null};function Ae({host:e,clientKey:t,product:n,surface:o,environment:r,enabled:c=!0,sessionRecording:a,heatmaps:f=!1,captureExceptions:y=!1,webVitals:_=!1}={}){if(!h())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");!c||!e||!t||r==="Local"||u.config||(u.config={host:e,clientKey:t,product:n,surface:o,environment:r,sessionRecording:a,heatmaps:f,captureExceptions:y,webVitals:_},u.stopFollowingConsent=g(E=>At(E.analytics)),R(()=>{Promise.resolve().then(u.loadPosthog).then(E=>Ot(E.default??E)).catch(()=>{u.failed=!0,u.pending=[]})}))}function Ot(e){let t=u.config,n=d().analytics;e.init(t.clientKey,Se(bt(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)Ne(e,r,c)}function At(e){u.posthog&&(e?u.posthog.opt_in_capturing():u.posthog.opt_out_capturing())}function bt(e){return{...he({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?Ne(u.posthog,e,o):!u.failed&&u.pending.length<wt&&u.pending.push([e,o])}function Ne(e,t,n){try{e.capture(t,n)}catch{}}function Re(e,t={}){if(!D.accept(e))return!1;let n=d().analytics,o=N(),r={...t};for(let[c,a]of[["first",o?.firstTouch],["last",o?.lastTouch]])a&&(r[`${c}_touch_channel`]=C(a),a.aiSource&&(r[`${c}_touch_ai_source`]=a.aiSource));return be(e,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:e}),!0):!1}function De(e){D.register(e)}var Nt="https://www.googletagmanager.com/gtm.js",Rt=3e3,Dt=100,m={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function ke(e={}){if(!h())throw new Error("@webority/analytics: call initConsent before loadTags.");if(m.loaded)return;m.loaded=!0;let{gtmId:t,gtmUrl:n=Nt,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=se();if(r){let a=()=>H("https://analytics.ahrefs.com/analytics.js",{"data-key":r});c?Le(f=>f.analytics,a):a()}if(t){let a=P(),f=V=>V.analytics||V.marketing&&a,y=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),H(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},_=d(),E=_.decided&&f(_)?Lt:R,j=()=>E(y);c?Le(f,j):j()}o&&(m.clarityId=o,d().analytics&&kt(),g(a=>{a.analytics&&!m.clarityLoaded?q():m.clarityLoaded&&ve(a)}))}function Le(e,t){if(e(d())){t();return}let n=g(o=>{e(o)&&(n(),t())})}function Lt(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function kt(){let e=()=>{window.scrollY>Dt&&q()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(q,Rt);m.cancelClaritySchedule=()=>{window.removeEventListener("scroll",e),clearTimeout(t)}}function q(){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)},ve(d()),H(`https://www.clarity.ms/tag/${encodeURIComponent(m.clarityId)}`,{crossorigin:"anonymous"}))}function ve(e){window.clarity("consentv2",{ad_Storage:e.marketing&&P()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function H(e,t={}){let n=document.createElement("script");n.async=!0,n.src=e;for(let[o,r]of Object.entries(t))n.setAttribute(o,r);document.head.appendChild(n)}return $e(vt);})();
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 Be=e=>Ge(v({},"__esModule",{value:!0}),e);var Ne={};Y(Ne,{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,Re=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:()=>P,CONSENT_COOKIE_NAME:()=>I,captureAttribution:()=>ge,channels:()=>l,events:()=>s,getAttribution:()=>R,getConsent:()=>d,initConsent:()=>ie,initSiteAnalytics:()=>De,loadTags:()=>Ue,onConsentChange:()=>_,registerEvents:()=>ve,requiresOptIn:()=>te,resolveAiSource:()=>O,resolveChannel:()=>C,saveConsent:()=>ce,setConsentRegion:()=>se,trackSiteEvent:()=>ke});var ze=["google","googleads","adwords","youtube"],Ke=["meta","facebook","fb","instagram","ig","messenger"],We=["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"]]]),qe=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],He=["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"],l=Object.freeze({DIRECT:"direct",GOOGLE:"google",META:"meta",LINKEDIN:"linkedin",MICROSOFT:"microsoft",OTHER:"other",AI_ASSISTANT:"ai_assistant",ORGANIC_SEARCH:"organic_search",ORGANIC_SOCIAL:"organic_social",REFERRAL:"referral"});function C(e){if(!e)return l.DIRECT;let t=p(e.utmSource);if(t){let r=b(t);if(ze.includes(r))return l.GOOGLE;if(Ke.includes(r))return l.META;if(We.includes(r))return l.LINKEDIN;if(je.includes(r))return l.MICROSOFT}if(p(e.fbclid))return l.META;if(p(e.gclid)||p(e.gbraid)||p(e.wbraid))return l.GOOGLE;if(p(e.liFatId))return l.LINKEDIN;if(p(e.msclkid))return l.MICROSOFT;if(X(t))return l.AI_ASSISTANT;if(t||p(e.utmMedium)||p(e.utmCampaign)||p(e.utmContent)||p(e.utmTerm))return l.OTHER;let o=ee(e.referrer);return o?J(o)?l.AI_ASSISTANT:Qe(o)?l.ORGANIC_SEARCH:Ye.some(r=>Z(o,r))?l.ORGANIC_SOCIAL:l.REFERRAL:l.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 qe.includes(e)?!0:He.some(t=>{if(!e.startsWith(`${t}.`))return!1;let n=e.slice(t.length+1).split(".");return n.length===1||n.length===2&&(n[0]==="co"||n[0]==="com")})}function 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 x=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:x.includes(t)}var I="webority_cookie_consent",P="webority-consent-change",oe=365,i={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.');i.initialized=!0,i.strictOptIn=t,i.requiresOptIn=t||e.requiresOptIn,i.adStorage=e.adStorage??!t,i.cookieDays=e.cookieDays??oe,i.cookieDomain=e.cookieDomain?.trim()??null,i.regionCookie=e.regionCookie??null,i.region=i.regionCookie?et(i.regionCookie):null;let{saved:n,entryCount:o}=Ze();i.saved=n,i.cookieDomain&&o>1&&n&&fe(n),Xe(),Je(),i.saved?$(i.saved):le()&&de()}function se(e){if(F("setConsentRegion"),!re.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=d();if(i.region=e,i.saved)return;let n=d();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(de(),ue(n))}function S(){return i.initialized}function ae(){return i.strictOptIn}function M(){return i.adStorage}function d(){F("getConsent");let e=i.saved;if(e)return{essential:!0,analytics:e.analytics,functional:e.functional,marketing:e.marketing,decided:!0};if(le())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let t=!i.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function 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),i.saved=t,$(t),ue(d())}function _(e){return U.add(e),()=>U.delete(e)}function ue(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(!i.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function h(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function Xe(){if(i.strictOptIn){h("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}h("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:[...x]});let e=i.adStorage?"granted":"denied";h("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(){h("set","ads_data_redaction",!0),h("set","url_passthrough",!0)}function le(){return i.requiresOptIn&&!i.strictOptIn&&i.region==="other"}function de(){let e=d();$(e,e.analytics&&i.adStorage)}function $(e,t=e.marketing&&i.adStorage){let n=o=>o?"granted":"denied";h("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)+i.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";i.cookieDomain&&ne(`${I}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=i.cookieDomain?`;domain=${i.cookieDomain}`:"";ne(`${I}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function ne(e){document.cookie=e}var N="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 ge(){ye("captureAttribution"),ut();let e=at();if(!e)return;let t=K(G());_e(G(),{firstTouch:t?.firstTouch??e,lastTouch:e}),st(e)}function st(e){let t={event:"acquisition_touch",acquisition_channel:C(e)};e.aiSource&&(t.ai_source=e.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(t)}function R(){return ye("getAttribution"),K(G())}function at(){let e=new URLSearchParams(window.location.search),t={};for(let[r,a]of Object.entries(it)){let c=A(e.get(r),rt);c&&(t[a]=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 ut(){pe||(pe=!0,_(e=>{let t=e.marketing?z():B(),n=e.marketing?B():z(),o=K(t);lt(t),o&&_e(n,o)}))}function G(){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(N);if(!t)return null;let n=JSON.parse(t),o=me(n?.firstTouch),r=me(n?.lastTouch);return!o&&!r?(e.removeItem(N),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function _e(e,t){try{e?.setItem(N,JSON.stringify(t))}catch{}}function lt(e){try{e?.removeItem(N)}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(!S())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 a=o.createElement("script");a.async=!0,a.src=new URL(dt,n).href,a.onload=()=>r(globalThis.WeborityAnalyticsWebVitals?.startWebVitals(e,t)),a.onerror=()=>r(),o.head.appendChild(a)})}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 s=Object.freeze({SIGNUP_STARTED:"signup_started",SIGNUP_COMPLETED:"signup_completed",LOGIN_SUCCEEDED:"login_succeeded",ONBOARDING_STARTED:"onboarding_started",ONBOARDING_STEP_COMPLETED:"onboarding_step_completed",ONBOARDING_COMPLETED:"onboarding_completed",SUBSCRIPTION_ACTIVATED:"subscription_activated",SUBSCRIPTION_CANCELLED:"subscription_cancelled",PAYMENT_SUCCEEDED:"payment_succeeded",PAYMENT_FAILED:"payment_failed",FEEDBACK_SUBMITTED:"feedback_submitted",LEAD_SUBMITTED:"lead_submitted",LEAD_QUALIFIED:"lead_qualified",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",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),Yt=Object.freeze({signupStarted:s.SIGNUP_STARTED,signupCompleted:s.SIGNUP_COMPLETED,loginSucceeded:s.LOGIN_SUCCEEDED,onboardingStarted:s.ONBOARDING_STARTED,onboardingStepCompleted:s.ONBOARDING_STEP_COMPLETED,onboardingCompleted:s.ONBOARDING_COMPLETED,subscriptionActivated:s.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:s.SUBSCRIPTION_CANCELLED,paymentSucceeded:s.PAYMENT_SUCCEEDED,paymentFailed:s.PAYMENT_FAILED,feedbackSubmitted:s.FEEDBACK_SUBMITTED,leadSubmitted:s.LEAD_SUBMITTED,leadQualified:s.LEAD_QUALIFIED,leadWon:s.LEAD_WON,whatsappClick:s.WHATSAPP_CLICK,calculatorUse:s.CALCULATOR_USE,phoneClick:s.PHONE_CLICK,demoBooked:s.DEMO_BOOKED,contactSubmitted:s.CONTACT_SUBMITTED,trialStartClick:s.TRIAL_START_CLICK,sampleReportDownload:s.SAMPLE_REPORT_DOWNLOAD,reportVerified:s.REPORT_VERIFIED,contentEngaged:s.CONTENT_ENGAGED,emailClick:s.EMAIL_CLICK,pageNotFound:s.PAGE_NOT_FOUND,chatOpened:s.CHAT_OPENED,tourStarted:s.TOUR_STARTED,tourStepViewed:s.TOUR_STEP_VIEWED,tourCompleted:s.TOUR_COMPLETED,tourSkipped:s.TOUR_SKIPPED}),Ce=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;var mt=50;function he(){let e=new Set(Object.values(s)),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:(gt(t,n,o),!1)}}}function gt(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=he(),en={config:null,posthogInstance:null,posthogInitPromise:null,warnedUnregisteredEvents:L.warned,pendingIdentify:null};var _t=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"],Ct=4,ht=5,St=6;function w(e){if(typeof e!="string")return e;let t=e.indexOf("#"),n=t===-1?e:e.slice(0,t),o=t===-1||yt.test(e.slice(t))?"":e.slice(t),r=n.indexOf("?");if(r===-1)return n+o;let a=n.slice(r+1).split("&"),c=a.filter(g=>!_t.has(bt(g))).map(It);if(c.length===a.length&&c.every((g,T)=>g===a[T]))return n+o;let f=n.slice(0,r),E=c.filter(g=>g!=="").join("&");return(E?`${f}?${E}`:f)+o}function Se(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])Tt(r);let n=t?.$heatmap_data;if(n&&typeof n=="object"){let r={};for(let[a,c]of Object.entries(n)){let f=w(a);r[f]=r[f]?r[f].concat(c):c}t.$heatmap_data=r}if(t&&typeof t=="object"){for(let[r,a]of Object.entries(t))if(r.startsWith("$web_vitals_")&&r.endsWith("_event")&&a&&typeof a=="object")for(let c of["$current_url","navigationURL"])typeof a[c]=="string"&&(a[c]=w(a[c]))}let o=t?.$snapshot_data;if(e.event==="$snapshot"&&o&&typeof o=="object")for(let r of Array.isArray(o)?o:[o])wt(r);return e}function wt(e){let t=e?.data;if(!(!t||typeof t!="object")){if(e.type===Ct)k(t,["href"]);else if(e.type===ht)k(t.payload,["href"]);else if(e.type===St&&Array.isArray(t.payload?.requests))for(let n of t.payload.requests)k(n,["name","url"])}}function k(e,t){if(!(!e||typeof e!="object"))for(let n of t)typeof e[n]=="string"&&(e[n]=w(e[n]))}function Tt(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=w(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 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 Te(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:Se};return t.enabled&&(n.session_recording={maskAllInputs:t.maskAllInputs??!0,...t.maskTextSelector?{maskTextSelector:t.maskTextSelector}:{},maskCapturedNetworkRequestFn:o=>({...o,name:w(o.name)}),recordBody:!1,recordHeaders:!1}),n}var Ie={sampleRate:1,softNavigations:!0,deployVersion: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 }.");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.");return{sampleRate:t,softNavigations:e.softNavigations!==!1,deployVersion:n}}var Nt=()=>Promise.resolve().then(()=>(Re(),Ne)),Rt=100,u={config:null,posthog:null,pending:[],failed:!1,loadPosthog:Nt,startVitals:Ee,stopFollowingConsent:null};function De({host:e,clientKey:t,product:n,surface:o,environment:r,enabled:a=!0,sessionRecording:c,heatmaps:f=!1,captureExceptions:E=!1,webVitals:g=!1}={}){if(!S())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");let T=be(g);!a||!e||!t||r==="Local"||u.config||(u.config={host:e,clientKey:t,product:n,surface:o,environment:r,sessionRecording:c,heatmaps:f,captureExceptions:E,webVitals:T},u.stopFollowingConsent=_(y=>Lt(y.analytics)),D(()=>{Promise.resolve().then(u.loadPosthog).then(y=>Dt(y.default??y)).catch(()=>{u.failed=!0,u.pending=[]})}))}function Dt(e){let t=u.config,n=d().analytics;e.init(t.clientKey,we(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(),u.posthog=e;let o=u.pending;u.pending=[];for(let[r,a]of o)W(e,r,a);t.webVitals&&u.startVitals(t.webVitals,(r,a)=>W(e,r,a))}function Lt(e){u.posthog&&(e?u.posthog.opt_in_capturing():u.posthog.opt_out_capturing())}function kt(e){return{...Te({host:e.host,sessionRecording:e.sessionRecording,heatmaps:e.heatmaps,captureExceptions:e.captureExceptions,webVitals:e.webVitals}),capture_pageview:!0}}function Le(e,t){let n=u.config;if(!n)return;let o={...t,product:n.product,surface:n.surface,environment:n.environment};u.posthog?W(u.posthog,e,o):!u.failed&&u.pending.length<Rt&&u.pending.push([e,o])}function W(e,t,n){try{e.capture(t,n)}catch{}}function ke(e,t={}){if(!L.accept(e))return!1;let n=d().analytics,o=R(),r={...t};for(let[a,c]of[["first",o?.firstTouch],["last",o?.lastTouch]])c&&(r[`${a}_touch_channel`]=C(c),c.aiSource&&(r[`${a}_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",xt=3e3,Ut=100,m={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function Ue(e={}){if(!S())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 a=ae();if(r){let c=()=>q("https://analytics.ahrefs.com/analytics.js",{"data-key":r});a?xe(f=>f.analytics,c):c()}if(t){let c=M(),f=H=>H.analytics||H.marketing&&c,E=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),q(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},g=d(),T=g.decided&&f(g)?Pt:D,y=()=>T(E);a?xe(f,y):y()}o&&(m.clarityId=o,d().analytics&&Mt(),_(c=>{c.analytics&&!m.clarityLoaded?j():m.clarityLoaded&&Pe(c)}))}function xe(e,t){if(e(d())){t();return}let n=_(o=>{e(o)&&(n(),t())})}function Pt(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function Mt(){let e=()=>{window.scrollY>Ut&&j()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(j,xt);m.cancelClaritySchedule=()=>{window.removeEventListener("scroll",e),clearTimeout(t)}}function j(){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)},Pe(d()),q(`https://www.clarity.ms/tag/${encodeURIComponent(m.clarityId)}`,{crossorigin:"anonymous"}))}function Pe(e){window.clarity("consentv2",{ad_Storage:e.marketing&&M()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function q(e,t={}){let n=document.createElement("script");n.async=!0,n.src=e;for(let[o,r]of Object.entries(t))n.setAttribute(o,r);document.head.appendChild(n)}return Be(Ft);})();
@@ -0,0 +1 @@
1
+ var WeborityAnalyticsWebVitals=(()=>{var J=Object.defineProperty;var Nt=Object.getOwnPropertyDescriptor;var Vt=Object.getOwnPropertyNames;var Ot=Object.prototype.hasOwnProperty;var Ut=(e,t,a)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var jt=(e,t,a)=>()=>{if(a)throw a[0];try{return e&&(t=e(e=0)),t}catch(r){throw a=[r],r}};var It=(e,t)=>{for(var a in t)J(e,a,{get:t[a],enumerable:!0})},Wt=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Vt(t))!Ot.call(e,i)&&i!==a&&J(e,i,{get:()=>t[i],enumerable:!(r=Nt(t,i))||r.enumerable});return e};var qt=e=>Wt(J({},"__esModule",{value:!0}),e);var L=(e,t,a)=>Ut(e,typeof t!="symbol"?t+"":t,a);var _t={};It(_t,{CLSThresholds:()=>gt,FCPThresholds:()=>Q,INPThresholds:()=>pt,LCPThresholds:()=>X,TTFBThresholds:()=>Z,onCLS:()=>$t,onFCP:()=>zt,onINP:()=>Kt,onLCP:()=>Qt,onTTFB:()=>Xt});function x(e,t){let a=Et.get(t);return a||(a=new WeakMap,Et.set(t,a)),a.get(e)||a.set(e,new t),a.get(e)}var tt,N,W,Ht,vt,Et,Mt,B,V,E,Tt,H,_,Pt,Ct,ut,q,w,D,R,kt,Dt,et,at,Q,Ft,gt,Lt,$t,zt,xt,dt,K,Gt,ft,wt,Jt,nt,mt,pt,Kt,it,X,At,Y,Qt,Z,ht,Xt,Rt=jt(()=>{tt=class{constructor(){L(this,"t");L(this,"o",0);L(this,"i",[])}l(t){if(t.hadRecentInput)return;let a=this.i[0],r=this.i.at(-1);this.o&&a&&r&&t.startTime-r.startTime<1e3&&t.startTime-a.startTime<5e3?(this.o+=t.value,this.i.push(t)):(this.o=t.value,this.i=[t]),this.t?.(t)}},N=()=>{let e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},W=e=>{if(document.readyState==="loading")return"loading";let t=N();if(t){if(e<t.domInteractive)return"loading";if(t.domContentLoadedEventStart===0||e<t.domContentLoadedEventStart)return"dom-interactive";if(t.domComplete===0||e<t.domComplete)return"dom-content-loaded"}return"complete"},Ht=e=>{let t=e.nodeName;return e.nodeType===1?t.toLowerCase():t.toUpperCase().replace(/^#/,"")},vt=e=>{let t="";try{for(;e?.nodeType!==9;){let a=e,r=a.id?"#"+a.id:[Ht(a),...Array.from(a.classList??[]).sort()].join(".");if(t.length+r.length>99)return t||r;if(t=t?r+">"+t:r,a.id)break;e=a.parentNode}}catch{}return t},Et=new WeakMap;Mt=-1,B=()=>Mt,V=e=>{addEventListener("pageshow",t=>{t.persisted&&(Mt=t.timeStamp,e(t))},!0)},E=(e,t,a,r)=>{let i,n;return o=>{t.value>=0&&(o||r)&&(n=t.value-(i??0),(n||i===void 0)&&(i=t.value,t.delta=n,t.rating=((s,c)=>s>c[1]?"poor":s>c[0]?"needs-improvement":"good")(t.value,a),e(t)))}},Tt=e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))},H=()=>N()?.activationStart??0,_=-1,Pt=new Set,Ct=()=>document.visibilityState!=="hidden"||document.prerendering?1/0:0,ut=e=>{if(document.visibilityState==="hidden"){if(e.type==="visibilitychange")for(let t of Pt)t();isFinite(_)||(_=e.type==="visibilitychange"?e.timeStamp:0,removeEventListener("prerenderingchange",ut,!0))}},q=(e=!1)=>{if(e&&(_=1/0),_<0){let t=H();_=(document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").find(r=>r.name==="hidden"&&r.startTime>=t)?.startTime)??Ct(),addEventListener("visibilitychange",ut,!0),addEventListener("prerenderingchange",ut,!0),V(()=>{setTimeout(()=>{_=Ct()})})}return{get firstHiddenTime(){return _},onHidden(t){Pt.add(t)}}},w=(e,t=-1,a,r=0,i,n,o)=>{let s=N(),c=s?.navigationId||0,l="navigate";return a?l=a:B()>=0?l="back-forward-cache":s&&(document.prerendering||H()>0?l="prerender":document.wasDiscarded?l="restore":s.type&&(l=s.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v6-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:l,navigationId:r||c,navigationInteractionId:i,navigationURL:n||s?.name,navigationStartTime:o||0}},D=(e,t,a={})=>{try{let r=e.filter(i=>PerformanceObserver.supportedEntryTypes.includes(i));if(r.length>0){let i=new PerformanceObserver(n=>{queueMicrotask(()=>{let o=n.getEntries();r.length>1&&o.sort((s,c)=>s.startTime+s.duration-(c.startTime+c.duration)),t(o)})});for(let n of r)i.observe({type:n,buffered:!0,...a});return i}}catch{}},R=e=>globalThis.PerformanceObserver?.supportedEntryTypes?.includes("soft-navigation")&&typeof globalThis.PerformanceSoftNavigation?.prototype?.getLargestInteractionContentfulPaint=="function"&&e&&e.reportSoftNavs,kt=(e,t)=>{if(e.set(t.navigationId,t),e.size>2){let a=e.keys().next().value;a!==void 0&&e.delete(a)}},Dt=e=>{let t=!1;return()=>{t||(e(),t=!0)}},et=class{constructor(){L(this,"u")}},at=e=>{document.prerendering?addEventListener("prerenderingchange",e,!0):e()},Q=[1800,3e3],Ft=(e,t={})=>{let a=R(t);at(()=>{let r=x(t,et),i=q(),n,o=w("FCP"),s=D(["paint"],c=>{for(let l of c)l.name==="first-contentful-paint"&&(s.disconnect(),l.startTime<i.firstHiddenTime&&(o.value=Math.max(l.startTime-H(),0),o.entries.push(l),o.navigationId=l.navigationId||o.navigationId,n(!0)))});s&&(n=E(e,o,Q,t.reportAllChanges),V(c=>{o=w("FCP",-1,"back-forward-cache",o.navigationId,o.navigationInteractionId,o.navigationURL,B()),n=E(e,o,Q,t.reportAllChanges),Tt(()=>{o.value=performance.now()-c.timeStamp,n(!0)})})),a&&D(["soft-navigation"],c=>{c.forEach(l=>{r.u&&l.navigationId&&kt(r.u,l);let g=Math.max((l.presentationTime||l.paintTime||0)-l.startTime,0);o=w("FCP",g,"soft-navigation",l.navigationId,l.interactionId,l.name,l.startTime),n=E(e,o,Q,t.reportAllChanges),n(!0)})},t)})},gt=[.1,.25],Lt=e=>e.find(t=>t.node?.nodeType===1)||e[0],$t=(e,t={})=>{let a=x(t=Object.assign({},t),tt),r=new WeakMap;a.t=i=>{if(i?.sources?.length){let n=Lt(i.sources),o=n?.node;if(o){let s=t.generateTarget?.(o)??vt(o);r.set(n,s)}}},((i,n={})=>{let o=q();Ft(Dt(()=>{let s,c=w("CLS",0),l=x(n,tt),g=(p,d,h,v,S)=>{c=w("CLS",0,p,d,h,v,S),l.o=0,s=E(i,c,gt,n.reportAllChanges)},b=(p=!1)=>{l.o>c.value&&(c.value=l.o,c.entries=l.i),s(p)},P=p=>{b(!0),g("soft-navigation",p.navigationId,p.interactionId,p.name,p.startTime)},u=p=>{for(let d of p)d.entryType!=="soft-navigation"?l.l(d):P(d);b()},m=["layout-shift"];R(n)&&m.push("soft-navigation");let f=D(m,u);f&&(s=E(i,c,gt,n.reportAllChanges),o.onHidden(()=>{u(f.takeRecords()),s(!0)}),V(()=>{g("back-forward-cache",c.navigationId,c.navigationInteractionId,c.navigationURL,B()),Tt(s)}),setTimeout(s))}))})(i=>{e((n=>{let o={};if(n.entries.length){let s=n.entries.reduce((c,l)=>c.value>l.value?c:l);if(s?.sources?.length){let c=Lt(s.sources);c&&(o={largestShiftTarget:r.get(c),largestShiftTime:s.startTime,largestShiftValue:s.value,largestShiftSource:c,largestShiftEntry:s,loadState:W(s.startTime)})}}return Object.assign(n,{attribution:o})})(i))},t)},zt=(e,t={})=>{let a=x(t=Object.assign({},t),et);R(t)&&(a.u=new Map),Ft(r=>{e((i=>{let n={timeToFirstByte:0,firstByteToFCP:i.value,loadState:W(B())};if(i.navigationType!=="soft-navigation"){if(i.entries.length){let o=N(),s=i.entries.at(-1);if(o){let c=o.responseStart,l=o.activationStart||0,g=Math.max(0,c-l);n={timeToFirstByte:g,firstByteToFCP:i.value-g,loadState:W(i.entries[0].startTime),navigationEntry:o,fcpEntry:s}}}}else{let o=a.u?.get(i.navigationId);o&&(n={timeToFirstByte:0,firstByteToFCP:i.value,loadState:"complete",navigationEntry:o})}return Object.assign(i,{attribution:n})})(r))},t)},xt=0,dt=1/0,K=0,Gt=e=>{for(let t of e)t.interactionId&&(dt=Math.min(dt,t.interactionId),K=Math.max(K,t.interactionId),xt=K?(K-dt)/7+1:0)},wt=()=>ft?xt:performance.interactionCount??0,Jt=()=>{"interactionCount"in performance||ft||(ft=D(["event"],Gt,{durationThreshold:0}))},nt=class{constructor(){L(this,"h",0);L(this,"v",[]);L(this,"p",new Map);L(this,"m");L(this,"M")}T(){return wt()-this.h}D(){this.h=wt(),this.v.length=0,this.p.clear()}S(t){let a=this.T(),r=Math.min(this.v.length-1,Math.floor(a/50));return!a||r!==-1||t!=="soft-navigation"&&t!=="back-forward-cache"?this.v[r]:{k:8,id:-1,entries:[]}}l(t){if(this.m?.(t),!t.interactionId)return;let a=this.v.at(-1),r=this.p.get(t.interactionId);if(r||this.v.length<10||t.duration>a.k){if(r?t.duration>r.k?(r.entries=[t],r.k=t.duration):t.duration===r.k&&t.startTime===r.entries[0].startTime&&r.entries.push(t):(r={id:t.interactionId,entries:[t],k:t.duration},this.p.set(r.id,r),this.v.push(r)),this.v.sort((i,n)=>n.k-i.k),this.v.length>10){let i=this.v.splice(10);for(let n of i)this.p.delete(n.id)}this.M?.(r)}}},mt=e=>{let t="requestIdleCallback"in globalThis?1e3:0,a=globalThis.requestIdleCallback||setTimeout,r=globalThis.cancelIdleCallback||clearTimeout;if(document.visibilityState==="hidden")e();else{let i=Dt(e),n=-1,o=()=>{r(n),i()};addEventListener("visibilitychange",o,{once:!0,capture:!0}),n=a(()=>{removeEventListener("visibilitychange",o,{capture:!0}),i()},{timeout:t})}},pt=[200,500],Kt=(e,t={})=>{let a=x(t=Object.assign({},t),nt),r=[],i=[],n=0,o=new WeakMap,s=new WeakMap,c=!1,l=()=>{c||(c=!0,mt(g))},g=()=>{let u=new Set(a.v.map(d=>o.get(d.entries[0]))),m=i.length-10;i=i.filter((d,h)=>h>=m||u.has(d));let f=new Set;for(let d of i){let h=b(d.startTime,d.processingEnd);for(let v of h)f.add(v)}let p=r.length-10;r=r.filter((d,h)=>f.has(d)||h>=p&&d.startTime>n),c=!1};a.m=u=>{let m=u.startTime+u.duration,f;n=Math.max(n,u.processingEnd);for(let p=i.length-1;p>=0;p--){let d=i[p];if(Math.abs(m-d.renderTime)<=8){f=d,f.startTime=Math.min(u.startTime,f.startTime),f.processingStart=Math.min(u.processingStart,f.processingStart),f.processingEnd=Math.max(u.processingEnd,f.processingEnd),t.includeProcessedEventEntries&&f.entries.push(u);break}}f||(f={startTime:u.startTime,processingStart:u.processingStart,processingEnd:u.processingEnd,renderTime:m,entries:t.includeProcessedEventEntries?[u]:[]},i.push(f)),u.interactionId&&o.set(u,f),l()},a.M=u=>{if(!s.get(u)){let m=u.entries.find(f=>f.target)?.target;if(m){let f=t.generateTarget?.(m)??vt(m);s.set(u,f)}else{let f=u.entries.find(p=>p.targetSelector)?.targetSelector;f&&s.set(u,f)}}};let b=(u,m)=>{let f=[];for(let p of r)if(!(p.startTime+p.duration<u)){if(p.startTime>m)break;f.push(p)}return f},P=u=>{if(u.entries.length===0){let T=u.navigationStartTime||0,I={processedEventEntries:[],longAnimationFrameEntries:[],inputDelay:0,processingDuration:0,presentationDelay:u.value,loadState:W(T)};return Object.assign(u,{attribution:I})}let m=u.entries[0],f=o.get(m),p=Math.max(f.processingStart,m.startTime),d=Math.max(m.startTime+m.duration,p),h=Math.min(f.processingEnd,d),v=f.entries.sort((T,I)=>T.processingStart-I.processingStart),S=b(m.startTime,h),M=a.p.get(m.interactionId),C={interactionTarget:s.get(M),interactionType:m.name.startsWith("key")?"keyboard":"pointer",interactionTime:m.startTime,nextPaintTime:d,processedEventEntries:v,longAnimationFrameEntries:S,inputDelay:p-m.startTime,processingDuration:h-p,presentationDelay:d-h,loadState:W(m.startTime),longestScript:void 0,totalScriptDuration:void 0,totalStyleAndLayoutDuration:void 0,totalPaintDuration:void 0,totalUnattributedDuration:void 0};return(T=>{let I=T.interactionTime,y=T.nextPaintTime;if(!T.longAnimationFrameEntries?.length||!I||!y)return;let A=T.inputDelay,F=T.processingDuration,O,U,ot=0,j=0,st=0,ct=0;for(let z of T.longAnimationFrameEntries){j=j+z.startTime+z.duration-z.styleAndLayoutStart;for(let k of z.scripts){let bt=k.startTime+k.duration;if(bt<I)continue;let G=bt-Math.max(I,k.startTime),St=k.duration?G/k.duration*k.forcedStyleAndLayoutDuration:0;ot+=G-St,j+=St,G>ct&&(U=k.startTime<I+A?"input-delay":k.startTime>=I+A+F?"presentation-delay":"processing-duration",O=k,ct=G)}}let lt=T.longAnimationFrameEntries.at(-1),yt=lt?lt.startTime+lt.duration:0;yt>=I+A+F&&(st=y-yt),O&&U&&(T.longestScript={entry:O,subpart:U,intersectingDuration:ct}),T.totalScriptDuration=ot,T.totalStyleAndLayoutDuration=j,T.totalPaintDuration=st,T.totalUnattributedDuration=y-I-ot-j-st})(C),Object.assign(u,{attribution:C})};D(["long-animation-frame"],u=>{r=r.concat(u),l()},t),((u,m={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;let f=q();at(()=>{Jt();let p,d=w("INP"),h=x(m,nt),v=(y,A,F,O,U)=>{h.D(),d=w("INP",-1,y,A,F,O,U),p=E(u,d,pt,m.reportAllChanges)},S=()=>{let y=h.S(d.navigationType);y&&y.k!==d.value&&(d.value=y.k,d.entries=y.entries,p())},M=y=>{S(),p(!0),v("soft-navigation",y.navigationId,y.interactionId,y.name,y.startTime)},C=(y,A=!1)=>{mt(()=>{for(let F of y)F.entryType!=="soft-navigation"?h.l(F):M(F);S(),A&&p(!0)})},T=["event","first-input"];R(m)&&T.push("soft-navigation");let I=D(T,C,{...m,durationThreshold:m.durationThreshold??40});p=E(u,d,pt,m.reportAllChanges),I&&(f.onHidden(()=>{C(I.takeRecords(),!0)}),V(()=>{v("back-forward-cache",d.navigationId,d.navigationInteractionId,d.navigationURL,B())}))})})(u=>{e(P(u))},t)},it=class{constructor(){L(this,"m");L(this,"u")}l(t){this.m?.(t)}},X=[2500,4e3],At=50,Y=[];D(["resource"],e=>{for(let t of e)Y.push(t),Y.length>At&&Y.shift()});Qt=(e,t={})=>{(t=Object.assign({},t)).resourceBufferSize!=null&&(At=t.resourceBufferSize);let a=x(t,it),r=new WeakMap;R(t)&&(a.u=new Map),a.m=i=>{let n=i.element;if(n){let o=t.generateTarget?.(n)??vt(n);r.set(i,o)}else i.id&&r.set(i,`#${i.id}`)},((i,n={})=>{let o=!1,s=R(n);at(()=>{let c,l=q(),g=w("LCP"),b=x(n,it),P=(d,h,v,S,M)=>{g=w("LCP",-1,d,h,v,S,M),c=E(i,g,X,n.reportAllChanges),o=!1,d==="soft-navigation"&&(l=q(!0))},u=d=>{b.u&&d.navigationId&&kt(b.u,d),o||c(!0),P("soft-navigation",d.navigationId,d.interactionId,d.name,d.startTime);let h=d.getLargestInteractionContentfulPaint?.();h&&m([h])},m=d=>{n.reportAllChanges||s||(d=d.slice(-1));for(let h of d){if(!h)continue;if(h.entryType==="soft-navigation"){u(h);continue}let v=0,S=[],M=h.startTime;if(h.entryType==="largest-contentful-paint")v=Math.max(h.startTime-H(),0),b.l(h),S=[h];else if(h.entryType==="interaction-contentful-paint"){let C=h;if(!g.navigationId||"interactionId"in C&&C.interactionId!=g.navigationInteractionId)continue;M=C.largestContentfulPaint?.renderTime||0,v=Math.max(M-h.startTime,0),C.largestContentfulPaint&&(b.l(C.largestContentfulPaint),S=[C.largestContentfulPaint])}M<l.firstHiddenTime&&(g.value=v,g.entries=S,c())}},f=["largest-contentful-paint"];s&&f.push("interaction-contentful-paint","soft-navigation");let p=D(f,m);if(p){c=E(i,g,X,n.reportAllChanges);let d=["keydown","click","visibilitychange"],h=v=>{if(v.isTrusted&&!o){let S=g.id;mt(()=>{if(!o){if(!s){p.disconnect();for(let M of d)removeEventListener(M,h,{capture:!0})}S===g.id&&(o=!0,c(!0))}})}};for(let v of d)addEventListener(v,h,{capture:!0});V(v=>{P("back-forward-cache",g.navigationId,g.navigationInteractionId,g.navigationURL,B()),c=E(i,g,X,n.reportAllChanges),Tt(()=>{g.value=performance.now()-v.timeStamp,o=!0,c(!0)})})}})})(i=>{e((n=>{let o={timeToFirstByte:0,resourceLoadDelay:0,resourceLoadDuration:0,elementRenderDelay:n.value};if(n.entries.length){let s=n.entries.at(-1),c=u=>u.name===s.url&&(u.requestStart||u.startTime)<=s.startTime,l=s.url&&(Y.findLast(c)||performance.getEntriesByType("resource").findLast(c)),g;o.target=r.get(s),o.lcpEntry=s,s.url&&(o.url=s.url),l&&(o.lcpResourceEntry=l);let b=0,P=0;if(n.navigationType!=="soft-navigation"?(g=N(),b=g?.activationStart??0,P=g?.responseStart??0):(b=n.navigationStartTime||0,g=a.u?.get(n.navigationId)),g){let u=Math.max(0,P-b),m=Math.max(u,l?(l.requestStart||l.startTime)-b:0),f=Math.min(n.value,Math.max(m,l?l.responseEnd-b:0));o={...o,timeToFirstByte:u,resourceLoadDelay:m-u,resourceLoadDuration:f-m,elementRenderDelay:n.value-f,navigationEntry:g}}}return Object.assign(n,{attribution:o})})(i))},t)},Z=[800,1800],ht=e=>{document.prerendering?at(()=>ht(e)):document.readyState!=="complete"?addEventListener("load",()=>ht(e),!0):setTimeout(e)},Xt=(e,t={})=>{((a,r={})=>{let i=R(r),n=w("TTFB"),o=E(a,n,Z,r.reportAllChanges);ht(()=>{let s=N();if(s){let c=s.responseStart;n.value=Math.max(c-H(),0),n.entries=[s],o(!0),V(()=>{n=w("TTFB",0,"back-forward-cache",n.navigationId,n.navigationInteractionId,n.navigationURL,B()),o=E(a,n,Z,r.reportAllChanges),o(!0)}),i&&D(["soft-navigation"],l=>{l.forEach(g=>{g.navigationId&&(n=w("TTFB",0,"soft-navigation",g.navigationId,g.interactionId,g.name,g.startTime),n.entries=[g],o=E(a,n,Z,r.reportAllChanges),o(!0))})},r)}})})(a=>{e((r=>{let i=r.entries[0],n={waitingDuration:0,cacheDuration:0,dnsDuration:0,connectionDuration:0,requestDuration:0,navigationEntry:i};if(r.entries.length&&i instanceof PerformanceNavigationTiming){let o=i.activationStart||0,s=Math.max((i.workerStart||i.fetchStart||0)-o,0),c=Math.max(i.domainLookupStart-o,0),l=Math.max(i.connectStart-o,0),g=Math.max(i.connectEnd-o,0);n={waitingDuration:s,cacheDuration:c-s,dnsDuration:l-c,connectionDuration:g-l,requestDuration:r.value-g,navigationEntry:i}}return Object.assign(r,{attribution:n})})(a))},t)}});var ie={};It(ie,{startWebVitals:()=>Bt});function Yt(e,t){return t<e}function Zt({mobileHint:e,screenWidth:t}){return e===!0?"mobile":typeof t!="number"||t<=0?"unknown":t<768?"mobile":t<1024?"tablet":"desktop"}function te(e,t){if(typeof e!="string"||!e)return null;try{return new URL(e,t).pathname}catch{return null}}function ee(e){return typeof e=="string"&&e?e.split(/[?#]/,1)[0]:null}var $=e=>typeof e=="number"&&Number.isFinite(e)?Math.round(e):null;function ne(e,t){let a=e.name,r=a==="CLS"?Math.round(e.value*1e4)/1e4:$(e.value),i={[`$web_vitals_${a}_value`]:r,vital:a,value:r,rating:e.rating,metric_id:e.id,navigation_type:e.navigationType??null,path:te(e.navigationURL??t.pageUrl,t.pageUrl),deploy_version:t.deployVersion??null,device_class:t.deviceClass},n=e.attribution??{};return a==="INP"&&(i.inp_target=n.interactionTarget||null,i.inp_longest_script_url=ee(n.longestScript?.entry?.sourceURL)),a==="LCP"&&(i.lcp_ttfb_ms=$(n.timeToFirstByte),i.lcp_resource_load_delay_ms=$(n.resourceLoadDelay),i.lcp_resource_load_duration_ms=$(n.resourceLoadDuration),i.lcp_element_render_delay_ms=$(n.elementRenderDelay)),i}var rt={started:!1,send:null};function Bt(e,t,{load:a=()=>Promise.resolve().then(()=>(Rt(),_t)),roll:r=Math.random()}={}){if(rt.send=t,rt.started||(rt.started=!0,!Yt(e.sampleRate,r)))return Promise.resolve();let i={deployVersion:e.deployVersion,deviceClass:Zt({mobileHint:globalThis.navigator?.userAgentData?.mobile,screenWidth:globalThis.screen?.width})},n=s=>{try{rt.send?.("$web_vitals",ne(s,{...i,pageUrl:globalThis.location?.href}))}catch{}},o={reportSoftNavs:e.softNavigations};return Promise.resolve().then(a).then(s=>{for(let c of[s.onLCP,s.onINP,s.onCLS,s.onFCP,s.onTTFB])c(n,o)}).catch(()=>{})}return qt(ie);})();
package/package.json CHANGED
@@ -1,50 +1,64 @@
1
1
  {
2
- "name": "@webority/analytics",
3
- "version": "0.28.1",
4
- "license": "SEE LICENSE IN LICENSE",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "exports": {
8
- ".": "./dist/index.js",
9
- "./site": "./dist/site.js",
10
- "./react-native": "./dist/react-native.js",
11
- "./dist/webority-analytics-site.global.js": "./dist/webority-analytics-site.global.js"
2
+ "name": "@webority/analytics",
3
+ "version": "0.30.0",
4
+ "license": "SEE LICENSE IN LICENSE",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "exports": {
8
+ ".": "./dist/index.js",
9
+ "./site": "./dist/site.js",
10
+ "./react-native": "./dist/react-native.js",
11
+ "./dist/webority-analytics-site.global.js": "./dist/webority-analytics-site.global.js",
12
+ "./dist/webority-analytics-web-vitals.global.js": "./dist/webority-analytics-web-vitals.global.js"
13
+ },
14
+ "imports": {
15
+ "#site-web-vitals": {
16
+ "webority-site-global": "./src/site-web-vitals-script.js",
17
+ "default": "./src/site-web-vitals.js"
18
+ }
19
+ },
20
+ "sideEffects": [
21
+ "./dist/*.global.js"
22
+ ],
23
+ "files": [
24
+ "dist"
25
+ ],
26
+ "bin": {
27
+ "webority-analytics-check-events": "dist/check-events.js",
28
+ "webority-analytics-generate-events": "dist/generate-events.js"
29
+ },
30
+ "peerDependencies": {
31
+ "posthog-js": "^1.417.1",
32
+ "posthog-react-native": "^4.80.0"
33
+ },
34
+ "peerDependenciesMeta": {
35
+ "posthog-js": {
36
+ "optional": true
12
37
  },
13
- "sideEffects": [
14
- "./dist/*.global.js"
15
- ],
16
- "files": [
17
- "dist"
18
- ],
19
- "bin": {
20
- "webority-analytics-check-events": "dist/check-events.js",
21
- "webority-analytics-generate-events": "dist/generate-events.js"
22
- },
23
- "scripts": {
24
- "build": "node -e \"require(\\\"node:fs\\\").rmSync(\\\"dist\\\",{recursive:true,force:true})\" && esbuild src/index.js src/site.js --bundle --splitting --format=esm --external:posthog-js --target=es2020 --minify --outdir=dist && esbuild src/site.js --bundle --format=iife --global-name=WeborityAnalytics --alias:posthog-js=./src/site-posthog-snippet.js --target=es2020 --minify --outfile=dist/webority-analytics-site.global.js && esbuild src/react-native/index.js --bundle --format=esm --external:posthog-react-native --target=es2020 --minify --outfile=dist/react-native.js && esbuild src/catalogue/check-events.js src/catalogue/generate-events.js --bundle --platform=node --format=esm --target=node20 --minify --outdir=dist && node -e \"for (const f of [\\\"fleet-tracking-plan.json\\\", \\\"tracking-plan.schema.json\\\"]) require(\\\"node:fs\\\").copyFileSync(\\\"src/catalogue/\\\" + f, \\\"dist/\\\" + f)\"",
25
- "prepack": "npm run build && node ../scripts/package-guard-pack.mjs --output-dirs dist --allow-file ../.webority/package-allow.json",
26
- "lint": "biome lint ./src ./test",
27
- "format": "biome format --write ./src ./test",
28
- "check": "biome check ./src ./test",
29
- "test": "node test/smoke.mjs && node test/site.mjs && node test/react-native.mjs && node test/url-scrub.mjs && node test/tours.mjs && node test/catalogue.mjs && node src/catalogue/generate-events.js --plan src/catalogue/fleet-tracking-plan.json --cs ../Webority.Analytics/FleetEventCatalogue.g.cs --cs-namespace Webority.Analytics --cs-class FleetEventCatalogue --cs-internal --check && npm run build --silent && node test/bundle.mjs",
30
- "catalogue:generate": "node src/catalogue/generate-events.js --plan src/catalogue/fleet-tracking-plan.json --cs ../Webority.Analytics/FleetEventCatalogue.g.cs --cs-namespace Webority.Analytics --cs-class FleetEventCatalogue --cs-internal"
31
- },
32
- "peerDependencies": {
33
- "posthog-js": "^1.417.1",
34
- "posthog-react-native": "^4.80.0"
35
- },
36
- "peerDependenciesMeta": {
37
- "posthog-js": {
38
- "optional": true
39
- },
40
- "posthog-react-native": {
41
- "optional": true
42
- }
43
- },
44
- "devDependencies": {
45
- "@biomejs/biome": "2.5.8",
46
- "esbuild": "0.28.2",
47
- "posthog-js": "1.417.1"
48
- },
49
- "module": "dist/index.js"
50
- }
38
+ "posthog-react-native": {
39
+ "optional": true
40
+ }
41
+ },
42
+ "devDependencies": {
43
+ "@biomejs/biome": "2.5.8",
44
+ "esbuild": "0.28.2",
45
+ "posthog-js": "1.417.1",
46
+ "web-vitals": "6.2.3"
47
+ },
48
+ "module": "dist/index.js",
49
+ "devEngines": {
50
+ "packageManager": {
51
+ "name": "pnpm",
52
+ "version": "11.16.0",
53
+ "onFail": "error"
54
+ }
55
+ },
56
+ "scripts": {
57
+ "build": "node -e \"require(\\\"node:fs\\\").rmSync(\\\"dist\\\",{recursive:true,force:true})\" && esbuild src/index.js src/site.js --bundle --splitting --format=esm --external:posthog-js --target=es2020 --minify --outdir=dist && esbuild src/site.js --bundle --format=iife --global-name=WeborityAnalytics --alias:posthog-js=./src/site-posthog-snippet.js --conditions=webority-site-global --target=es2020 --minify --outfile=dist/webority-analytics-site.global.js && esbuild src/web-vitals-global.js --bundle --format=iife --global-name=WeborityAnalyticsWebVitals --target=es2020 --minify --outfile=dist/webority-analytics-web-vitals.global.js && esbuild src/react-native/index.js --bundle --format=esm --external:posthog-react-native --target=es2020 --minify --outfile=dist/react-native.js && esbuild src/catalogue/check-events.js src/catalogue/generate-events.js --bundle --platform=node --format=esm --target=node20 --minify --outdir=dist && node -e \"for (const f of [\\\"fleet-tracking-plan.json\\\", \\\"tracking-plan.schema.json\\\"]) require(\\\"node:fs\\\").copyFileSync(\\\"src/catalogue/\\\" + f, \\\"dist/\\\" + f)\"",
58
+ "lint": "biome lint ./src ./test",
59
+ "format": "biome format --write ./src ./test",
60
+ "check": "biome check ./src ./test",
61
+ "test": "node test/smoke.mjs && node test/site.mjs && node test/react-native.mjs && node test/url-scrub.mjs && node test/web-vitals.mjs && node test/tours.mjs && node test/catalogue.mjs && node src/catalogue/generate-events.js --plan src/catalogue/fleet-tracking-plan.json --cs ../Webority.Analytics/FleetEventCatalogue.g.cs --cs-namespace Webority.Analytics --cs-class FleetEventCatalogue --cs-internal --check && pnpm run --silent build && node test/bundle.mjs",
62
+ "catalogue:generate": "node src/catalogue/generate-events.js --plan src/catalogue/fleet-tracking-plan.json --cs ../Webority.Analytics/FleetEventCatalogue.g.cs --cs-namespace Webority.Analytics --cs-class FleetEventCatalogue --cs-internal"
63
+ }
64
+ }
@@ -1 +0,0 @@
1
- var Ne=["google","googleads","adwords","youtube"],Re=["meta","facebook","fb","instagram","ig","messenger"],De=["linkedin","lnkd"],Le=["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"]]]),ke=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],ve=["google","yandex"],xe=["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 T(e){if(!e)return f.DIRECT;let t=m(e.utmSource);if(t){let r=w(t);if(Ne.includes(r))return f.GOOGLE;if(Re.includes(r))return f.META;if(De.includes(r))return f.LINKEDIN;if(Le.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(Z(t))return f.AI_ASSISTANT;if(t||m(e.utmMedium)||m(e.utmCampaign)||m(e.utmContent)||m(e.utmTerm))return f.OTHER;let o=ne(e.referrer);return o?ee(o)?f.AI_ASSISTANT:Ue(o)?f.ORGANIC_SEARCH:xe.some(r=>te(o,r))?f.ORGANIC_SOCIAL:f.REFERRAL:f.DIRECT}function v(e){if(!e)return"";let t=Z(m(e.utmSource));if(t)return t;let n=ne(e.referrer);return n?ee(n):""}function Z(e){if(!e)return"";let t=w(e);for(let[n,o]of Q)if(w(n)===t||o.some(r=>w(r)===t))return n;return""}function ee(e){for(let[t,n]of Q)if(n.some(o=>te(e,o)))return t;return""}function Ue(e){return ke.includes(e)?!0:ve.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 te(e,t){return e===t||e.endsWith(`.${t}`)}function ne(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 w(e){return String(e).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function m(e){return String(e??"").trim()}var x=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 Fe(e){let t=typeof e=="string"?e.trim().toUpperCase():"";return t.length!==2||t==="XX"||t==="T1"?!0:x.includes(t)}var O="webority_cookie_consent",re="webority-consent-change",ie=365,i={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:ie,cookieDomain:null,regionCookie:null,region:null,saved:null},ae=["eea","other"],U=new Set;function Pe(e){let t=e?.strictOptIn??!1;if(typeof t!="boolean")throw new Error("@webority/analytics: initConsent strictOptIn must be true or false, or left out.");if(t){if(e.requiresOptIn!==void 0&&e.requiresOptIn!==!0)throw new Error("@webority/analytics: initConsent strictOptIn asks every visitor to opt in, so requiresOptIn must be true or left out.")}else if(typeof e?.requiresOptIn!="boolean")throw new Error("@webority/analytics: initConsent needs requiresOptIn (true or false), decided from the visitor's country.");if(e.cookieDomain!==void 0&&(typeof e.cookieDomain!="string"||!e.cookieDomain.trim()))throw new Error('@webority/analytics: initConsent cookieDomain must be a domain such as ".example.com", or left out.');if(e.cookieDays!==void 0&&!(Number.isInteger(e.cookieDays)&&e.cookieDays>0))throw new Error("@webority/analytics: initConsent cookieDays must be a whole number of days above zero, or left out.");if(e.adStorage!==void 0&&typeof e.adStorage!="boolean")throw new Error("@webority/analytics: initConsent adStorage must be true or false, or left out.");if(e.regionCookie!==void 0&&(typeof e.regionCookie!="string"||!/^[\w.-]+$/.test(e.regionCookie)))throw new Error('@webority/analytics: initConsent regionCookie must be a cookie name such as "wui_region", or left out.');i.initialized=!0,i.strictOptIn=t,i.requiresOptIn=t||e.requiresOptIn,i.adStorage=e.adStorage??!t,i.cookieDays=e.cookieDays??ie,i.cookieDomain=e.cookieDomain?.trim()??null,i.regionCookie=e.regionCookie??null,i.region=i.regionCookie?Ke(i.regionCookie):null;let{saved:n,entryCount:o}=Be();i.saved=n,i.cookieDomain&&o>1&&n&&de(n),Ge(),ze(),i.saved?M(i.saved):ue()&&le()}function Me(e){if(P("setConsentRegion"),!ae.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=d();if(i.region=e,i.saved)return;let n=d();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(le(),ce(n))}function y(){return i.initialized}function se(){return i.strictOptIn}function F(){return i.adStorage}function d(){P("getConsent");let e=i.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=!i.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function $e(e){P("saveConsent");let t={essential:!0,analytics:e?.analytics===!0,functional:e?.functional===!0,marketing:e?.marketing===!0,timestamp:new Date().toISOString()};de(t),i.saved=t,M(t),ce(d())}function C(e){return U.add(e),()=>U.delete(e)}function ce(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(re,{detail:e}))}function P(e){if(!i.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function I(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function Ge(){if(i.strictOptIn){I("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500});return}I("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500,region:[...x]});let e=i.adStorage?"granted":"denied";I("consent","default",{ad_storage:e,ad_user_data:e,ad_personalization:e,analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"})}function ze(){I("set","ads_data_redaction",!0),I("set","url_passthrough",!0)}function ue(){return i.requiresOptIn&&!i.strictOptIn&&i.region==="other"}function le(){let e=d();M(e,e.analytics&&i.adStorage)}function M(e,t=e.marketing&&i.adStorage){let n=o=>o?"granted":"denied";I("consent","update",{analytics_storage:n(e.analytics),functionality_storage:n(e.functional),personalization_storage:n(e.functional),ad_storage:n(t),ad_user_data:n(t),ad_personalization:n(t)})}function Be(){let e=`${O}=`,t=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(e)),n=t.map(o=>qe(o.slice(e.length))).filter(Boolean);return{saved:He(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 ae.includes(o)?o:null}function qe(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 He(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 de(e){let t=typeof e.timestamp=="string"?Date.parse(e.timestamp):Number.NaN,n=(Number.isNaN(t)?Date.now():t)+i.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";i.cookieDomain&&oe(`${O}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=i.cookieDomain?`;domain=${i.cookieDomain}`:"";oe(`${O}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function oe(e){document.cookie=e}var b="webority_attribution",je=2160*60*60*1e3,We=200,$=500,Ve=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"}),fe=!1;function Ye(){ge("captureAttribution"),Ze();let e=Je();if(!e)return;let t=q(G());me(G(),{firstTouch:t?.firstTouch??e,lastTouch:e}),Xe(e)}function Xe(e){let t={event:"acquisition_touch",acquisition_channel:T(e)};e.aiSource&&(t.ai_source=e.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(t)}function K(){return ge("getAttribution"),q(G())}function Je(){let e=new URLSearchParams(window.location.search),t={};for(let[r,c]of Object.entries(Ve)){let s=A(e.get(r),We);s&&(t[c]=s)}let n=A(e.get("referrer"),$)||Qe();if(n&&(t.referrer=n),Object.keys(t).length===0)return null;let o=v(t);return o&&(t.aiSource=o),t.landingPage=A(window.location.pathname,$),t.capturedDateTimeUtc=new Date().toISOString(),t}function Qe(){let e=document.referrer;if(!e)return"";try{return new URL(e).hostname===window.location.hostname?"":A(e,$)}catch{return""}}function Ze(){fe||(fe=!0,C(e=>{let t=e.marketing?B():z(),n=e.marketing?z():B(),o=q(t);et(t),o&&me(n,o)}))}function G(){return d().marketing?z():B()}function z(){try{return window.localStorage}catch{return null}}function B(){try{return window.sessionStorage}catch{return null}}function q(e){try{let t=e?.getItem(b);if(!t)return null;let n=JSON.parse(t),o=pe(n?.firstTouch),r=pe(n?.lastTouch);return!o&&!r?(e.removeItem(b),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function me(e,t){try{e?.setItem(b,JSON.stringify(t))}catch{}}function et(e){try{e?.removeItem(b)}catch{}}function pe(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 A(e,t){let n=String(e??"").trim();return n?n.slice(0,t):""}function ge(e){if(!y())throw new Error(`@webority/analytics: call initConsent before ${e}.`)}var tt=["scroll","mousemove","touchstart","keydown","pointerdown"];function N(e){let t=!1,n=()=>{t||(t=!0,e())};for(let o of tt)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,1500):window.addEventListener("load",()=>setTimeout(n,1500),{once:!0})}var a=Object.freeze({SIGNUP_STARTED:"signup_started",SIGNUP_COMPLETED:"signup_completed",LOGIN_SUCCEEDED:"login_succeeded",ONBOARDING_STARTED:"onboarding_started",ONBOARDING_STEP_COMPLETED:"onboarding_step_completed",ONBOARDING_COMPLETED:"onboarding_completed",SUBSCRIPTION_ACTIVATED:"subscription_activated",SUBSCRIPTION_CANCELLED:"subscription_cancelled",PAYMENT_SUCCEEDED:"payment_succeeded",PAYMENT_FAILED:"payment_failed",FEEDBACK_SUBMITTED:"feedback_submitted",LEAD_SUBMITTED:"lead_submitted",LEAD_QUALIFIED:"lead_qualified",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",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),Pt=Object.freeze({signupStarted:a.SIGNUP_STARTED,signupCompleted:a.SIGNUP_COMPLETED,loginSucceeded:a.LOGIN_SUCCEEDED,onboardingStarted:a.ONBOARDING_STARTED,onboardingStepCompleted:a.ONBOARDING_STEP_COMPLETED,onboardingCompleted:a.ONBOARDING_COMPLETED,subscriptionActivated:a.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:a.SUBSCRIPTION_CANCELLED,paymentSucceeded:a.PAYMENT_SUCCEEDED,paymentFailed:a.PAYMENT_FAILED,feedbackSubmitted:a.FEEDBACK_SUBMITTED,leadSubmitted:a.LEAD_SUBMITTED,leadQualified:a.LEAD_QUALIFIED,leadWon:a.LEAD_WON,whatsappClick:a.WHATSAPP_CLICK,calculatorUse:a.CALCULATOR_USE,phoneClick:a.PHONE_CLICK,demoBooked:a.DEMO_BOOKED,contactSubmitted:a.CONTACT_SUBMITTED,trialStartClick:a.TRIAL_START_CLICK,sampleReportDownload:a.SAMPLE_REPORT_DOWNLOAD,reportVerified:a.REPORT_VERIFIED,contentEngaged:a.CONTENT_ENGAGED,emailClick:a.EMAIL_CLICK,pageNotFound:a.PAGE_NOT_FOUND,chatOpened:a.CHAT_OPENED,tourStarted:a.TOUR_STARTED,tourStepViewed:a.TOUR_STEP_VIEWED,tourCompleted:a.TOUR_COMPLETED,tourSkipped:a.TOUR_SKIPPED}),_e=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;var nt=50;function Ee(){let e=new Set(Object.values(a)),t=new Set;return{warned:t,register(n){for(let o of n){if(!_e.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:(ot(t,n,o),!1)}}}function ot(e,t,n){if(e.has(t))return;e.size<nt&&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 R=Ee(),u={config:null,posthogInstance:null,posthogInitPromise:null,warnedUnregisteredEvents:R.warned,pendingIdentify:null};function Kt(e){u.config=e,u.posthogInstance=null,u.posthogInitPromise=null,u.pendingIdentify=null}function rt(){let e=u.config;return e?!!(e.enabled&&e.clientKey&&e.environment!=="Local"):!1}function D(){return y()&&d().analytics}function ye(){return rt()&&D()}var L=new Set,Ce=new WeakSet,Se=null;function jt(e){let t=H();if(!t)return!1;try{return t.isFeatureEnabled(e)===!0}catch{return!1}}function Wt(e){let t=H();if(!t)return null;try{return t.getFeatureFlag(e)??null}catch{return null}}function Vt(e){L.add(e);let t=H();return(!t||Se===t)&&queueMicrotask(()=>{L.has(e)&&he(e)}),()=>L.delete(e)}function Ie(e){u.config?.featureFlags!==!0||Ce.has(e)||typeof e.onFeatureFlags!="function"||(Ce.add(e),e.onFeatureFlags(()=>{Se=e;for(let t of[...L])he(t)}))}function H(){return u.config?.featureFlags!==!0||!ye()?null:u.posthogInstance??null}function he(e){try{e()}catch(t){queueMicrotask(()=>{throw t})}}var it=new Set(["token","code","email","access_token","id_token","state","session_state","password","search","q","query"]),at=/(?:access_token|id_token|session_state|token|code|state|email|password)=/i,st=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"],ct=4,ut=5,lt=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||at.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(_=>!it.has(mt(_))).map(pt);if(s.length===c.length&&s.every((_,E)=>_===c[E]))return n+o;let p=n.slice(0,r),S=s.filter(_=>_!=="").join("&");return(S?`${p}?${S}`:p)+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])ft(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])dt(r);return e}function dt(e){let t=e?.data;if(!(!t||typeof t!="object")){if(e.type===ct)k(t,["href"]);else if(e.type===ut)k(t.payload,["href"]);else if(e.type===lt&&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]=h(e[n]))}function ft(e){k(e,st)}function pt(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 mt(e){let t=e.split("=",1)[0].replace(/\+/g," ");try{return decodeURIComponent(t).toLowerCase()}catch{return t.toLowerCase()}}async function en(){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=j(W(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,Ie(n),n}).catch(t=>{throw u.posthogInitPromise=null,t}),u.posthogInitPromise}function j(e,t,n=!1){return t?e:{...e,opt_out_capturing_by_default:!0,...n?{advanced_disable_feature_flags_on_first_load:!0}:{}}}function W(e){let t=e.sessionRecording??{enabled:!1},n={api_host:e.host,autocapture:!1,capture_pageview:"history_change",cookieless_mode:"on_reject",person_profiles:"identified_only",persistence:"localStorage+cookie",cross_subdomain_cookie:!0,disable_session_recording:!t.enabled,enable_heatmaps:e.heatmaps===!0,capture_exceptions:e.captureExceptions===!0,capture_performance:{web_vitals:e.webVitals===!0},disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!(t.enabled||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:h(o.name)}),recordBody:!1,recordHeaders:!1}),n}var gt=()=>import("posthog-js"),_t=100,l={config:null,posthog:null,pending:[],failed:!1,loadPosthog:gt,stopFollowingConsent:null};function Et({host:e,clientKey:t,product:n,surface:o,environment:r,enabled:c=!0,sessionRecording:s,heatmaps:p=!1,captureExceptions:S=!1,webVitals:_=!1}={}){if(!y())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");!c||!e||!t||r==="Local"||l.config||(l.config={host:e,clientKey:t,product:n,surface:o,environment:r,sessionRecording:s,heatmaps:p,captureExceptions:S,webVitals:_},l.stopFollowingConsent=C(E=>Ct(E.analytics)),N(()=>{Promise.resolve().then(l.loadPosthog).then(E=>yt(E.default??E)).catch(()=>{l.failed=!0,l.pending=[]})}))}function yt(e){let t=l.config,n=d().analytics;e.init(t.clientKey,j(St(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)Oe(e,r,c)}function Ct(e){l.posthog&&(e?l.posthog.opt_in_capturing():l.posthog.opt_out_capturing())}function St(e){return{...W({host:e.host,sessionRecording:e.sessionRecording,heatmaps:e.heatmaps,captureExceptions:e.captureExceptions,webVitals:e.webVitals}),capture_pageview:!0}}function we(e,t){let n=l.config;if(!n)return;let o={...t,product:n.product,surface:n.surface,environment:n.environment};l.posthog?Oe(l.posthog,e,o):!l.failed&&l.pending.length<_t&&l.pending.push([e,o])}function Oe(e,t,n){try{e.capture(t,n)}catch{}}function It(e,t={}){if(!R.accept(e))return!1;let n=d().analytics,o=K(),r={...t};for(let[c,s]of[["first",o?.firstTouch],["last",o?.lastTouch]])s&&(r[`${c}_touch_channel`]=T(s),s.aiSource&&(r[`${c}_touch_ai_source`]=s.aiSource));return we(e,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:e}),!0):!1}function ht(e){R.register(e)}var Tt="https://www.googletagmanager.com/gtm.js",wt=3e3,Ot=100,g={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function At(e={}){if(!y())throw new Error("@webority/analytics: call initConsent before loadTags.");if(g.loaded)return;g.loaded=!0;let{gtmId:t,gtmUrl:n=Tt,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=se();if(r){let s=()=>Y("https://analytics.ahrefs.com/analytics.js",{"data-key":r});c?Ae(p=>p.analytics,s):s()}if(t){let s=F(),p=J=>J.analytics||J.marketing&&s,S=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),Y(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},_=d(),E=_.decided&&p(_)?bt:N,X=()=>E(S);c?Ae(p,X):X()}o&&(g.clarityId=o,d().analytics&&Nt(),C(s=>{s.analytics&&!g.clarityLoaded?V():g.clarityLoaded&&be(s)}))}function Ae(e,t){if(e(d())){t();return}let n=C(o=>{e(o)&&(n(),t())})}function bt(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function Nt(){let e=()=>{window.scrollY>Ot&&V()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(V,wt);g.cancelClaritySchedule=()=>{window.removeEventListener("scroll",e),clearTimeout(t)}}function V(){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)},be(d()),Y(`https://www.clarity.ms/tag/${encodeURIComponent(g.clarityId)}`,{crossorigin:"anonymous"}))}function be(e){window.clarity("consentv2",{ad_Storage:e.marketing&&F()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function Y(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{Fe as a,O as b,re as c,Pe as d,Me as e,y as f,d as g,$e as h,C as i,a as j,Pt as k,R as l,u as m,Kt as n,rt as o,D as p,jt as q,Wt as r,Vt as s,en as t,f as u,T as v,v as w,Ye as x,K as y,Et as z,It as A,ht as B,At as C};