@webority/analytics 0.37.0 → 0.38.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/check-events.js +14 -14
- package/dist/chunk-NCVTY7BB.js +1 -0
- package/dist/chunk-S6QAWBSZ.js +1 -0
- package/dist/errors.js +1 -1
- package/dist/generate-events.js +12 -12
- package/dist/index.js +1 -1
- package/dist/node.js +1 -1
- package/dist/react-native.js +1 -1
- package/dist/site.js +1 -1
- package/dist/types/after-interaction.d.ts +6 -0
- package/dist/types/analytics.d.ts +49 -0
- package/dist/types/attribution.d.ts +34 -0
- package/dist/types/catalogue/check-events.d.ts +2 -0
- package/dist/types/catalogue/check.d.ts +32 -0
- package/dist/types/catalogue/generate-events.d.ts +2 -0
- package/dist/types/catalogue/generate.d.ts +28 -0
- package/dist/types/catalogue/plan.d.ts +97 -0
- package/dist/types/catalogue/scan.d.ts +42 -0
- package/dist/types/channels.d.ts +24 -0
- package/dist/types/consent-regions.d.ts +2 -0
- package/dist/types/consent.d.ts +83 -0
- package/dist/types/errors.d.ts +36 -0
- package/dist/types/event-registry.d.ts +19 -0
- package/dist/types/feature-flags.d.ts +26 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/node/errors.d.ts +39 -0
- package/dist/types/node/index.d.ts +1 -0
- package/dist/types/posthog-bridge.d.ts +25 -0
- package/dist/types/react-native/index.d.ts +90 -0
- package/dist/types/react-native/native-modules.d.ts +41 -0
- package/dist/types/site-events.d.ts +16 -0
- package/dist/types/site-posthog-snippet.d.ts +27 -0
- package/dist/types/site-posthog.d.ts +61 -0
- package/dist/types/site-web-vitals-script.d.ts +13 -0
- package/dist/types/site-web-vitals.d.ts +4 -0
- package/dist/types/site.d.ts +8 -0
- package/dist/types/state.d.ts +43 -0
- package/dist/types/tags.d.ts +35 -0
- package/dist/types/tours.d.ts +8 -0
- package/dist/types/track-helpers.d.ts +8 -0
- package/dist/types/url-scrub.d.ts +14 -0
- package/dist/types/vocabulary.d.ts +76 -0
- package/dist/types/web-vitals-global.d.ts +1 -0
- package/dist/types/web-vitals.d.ts +107 -0
- package/dist/{web-vitals-RMISAXOY.js → web-vitals-ET2TNTYN.js} +1 -1
- package/dist/webority-analytics-site.global.js +1 -1
- package/dist/webority-analytics-web-vitals.global.js +1 -1
- package/package.json +30 -11
- package/dist/chunk-BXYJOYLR.js +0 -1
- package/dist/chunk-TPTUIQE4.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
var WeborityAnalyticsWebVitals=(()=>{var J=Object.defineProperty;var Ut=Object.getOwnPropertyDescriptor;var jt=Object.getOwnPropertyNames;var zt=Object.prototype.hasOwnProperty;var Wt=(e,t,i)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var qt=(e,t,i)=>()=>{if(i)throw i[0];try{return e&&(t=e(e=0)),t}catch(r){throw i=[r],r}};var It=(e,t)=>{for(var i in t)J(e,i,{get:t[i],enumerable:!0})},Ht=(e,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of jt(t))!zt.call(e,a)&&a!==i&&J(e,a,{get:()=>t[a],enumerable:!(r=Ut(t,a))||r.enumerable});return e};var $t=e=>Ht(J({},"__esModule",{value:!0}),e);var C=(e,t,i)=>Wt(e,typeof t!="symbol"?t+"":t,i);var Rt={};It(Rt,{CLSThresholds:()=>gt,FCPThresholds:()=>Q,INPThresholds:()=>mt,LCPThresholds:()=>X,TTFBThresholds:()=>Z,onCLS:()=>Jt,onFCP:()=>Kt,onINP:()=>Yt,onLCP:()=>Zt,onTTFB:()=>te});function A(e,t){let i=_t.get(t);return i||(i=new WeakMap,_t.set(t,i)),i.get(e)||i.set(e,new t),i.get(e)}var tt,V,W,Gt,vt,_t,Mt,N,O,I,Tt,H,R,Dt,Ct,dt,q,w,P,B,kt,Pt,et,it,Q,Ft,gt,wt,Jt,Kt,At,ut,K,Qt,pt,Lt,Xt,nt,ft,mt,Yt,at,X,xt,Y,Zt,Z,ht,te,Bt=qt(()=>{tt=class{constructor(){C(this,"t");C(this,"o",0);C(this,"i",[])}l(t){if(t.hadRecentInput)return;let i=this.i[0],r=this.i.at(-1);this.o&&i&&r&&t.startTime-r.startTime<1e3&&t.startTime-i.startTime<5e3?(this.o+=t.value,this.i.push(t)):(this.o=t.value,this.i=[t]),this.t?.(t)}},V=()=>{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=V();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"},Gt=e=>{let t=e.nodeName;return e.nodeType===1?t.toLowerCase():t.toUpperCase().replace(/^#/,"")},vt=e=>{let t="";try{for(;e?.nodeType!==9;){let i=e,r=i.id?"#"+i.id:[Gt(i),...Array.from(i.classList??[]).sort()].join(".");if(t.length+r.length>99)return t||r;if(t=t?r+">"+t:r,i.id)break;e=i.parentNode}}catch{}return t},_t=new WeakMap;Mt=-1,N=()=>Mt,O=e=>{addEventListener("pageshow",t=>{t.persisted&&(Mt=t.timeStamp,e(t))},!0)},I=(e,t,i,r)=>{let a,n;return o=>{t.value>=0&&(o||r)&&(n=t.value-(a??0),(n||a===void 0)&&(a=t.value,t.delta=n,t.rating=((s,l)=>s>l[1]?"poor":s>l[0]?"needs-improvement":"good")(t.value,i),e(t)))}},Tt=e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))},H=()=>V()?.activationStart??0,R=-1,Dt=new Set,Ct=()=>document.visibilityState!=="hidden"||document.prerendering?1/0:0,dt=e=>{if(document.visibilityState==="hidden"){if(e.type==="visibilitychange")for(let t of Dt)t();isFinite(R)||(R=e.type==="visibilitychange"?e.timeStamp:0,removeEventListener("prerenderingchange",dt,!0))}},q=(e=!1)=>{if(e&&(R=1/0),R<0){let t=H();R=(document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").find(r=>r.name==="hidden"&&r.startTime>=t)?.startTime)??Ct(),addEventListener("visibilitychange",dt,!0),addEventListener("prerenderingchange",dt,!0),O(()=>{setTimeout(()=>{R=Ct()})})}return{get firstHiddenTime(){return R},onHidden(t){Dt.add(t)}}},w=(e,t=-1,i,r=0,a,n,o)=>{let s=V(),l=s?.navigationId||0,c="navigate";return i?c=i:N()>=0?c="back-forward-cache":s&&(document.prerendering||H()>0?c="prerender":document.wasDiscarded?c="restore":s.type&&(c=s.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v6-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:c,navigationId:r||l,navigationInteractionId:a,navigationURL:n||s?.name,navigationStartTime:o||0}},P=(e,t,i={})=>{try{let r=e.filter(a=>PerformanceObserver.supportedEntryTypes.includes(a));if(r.length>0){let a=new PerformanceObserver(n=>{queueMicrotask(()=>{let o=n.getEntries();r.length>1&&o.sort((s,l)=>s.startTime+s.duration-(l.startTime+l.duration)),t(o)})});for(let n of r)a.observe({type:n,buffered:!0,...i});return a}}catch{}},B=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 i=e.keys().next().value;i!==void 0&&e.delete(i)}},Pt=e=>{let t=!1;return()=>{t||(e(),t=!0)}},et=class{constructor(){C(this,"u")}},it=e=>{document.prerendering?addEventListener("prerenderingchange",e,!0):e()},Q=[1800,3e3],Ft=(e,t={})=>{let i=B(t);it(()=>{let r=A(t,et),a=q(),n,o=w("FCP"),s=P(["paint"],l=>{for(let c of l)c.name==="first-contentful-paint"&&(s.disconnect(),c.startTime<a.firstHiddenTime&&(o.value=Math.max(c.startTime-H(),0),o.entries.push(c),o.navigationId=c.navigationId||o.navigationId,n(!0)))});s&&(n=I(e,o,Q,t.reportAllChanges),O(l=>{o=w("FCP",-1,"back-forward-cache",o.navigationId,o.navigationInteractionId,o.navigationURL,N()),n=I(e,o,Q,t.reportAllChanges),Tt(()=>{o.value=performance.now()-l.timeStamp,n(!0)})})),i&&P(["soft-navigation"],l=>{l.forEach(c=>{r.u&&c.navigationId&&kt(r.u,c);let g=Math.max((c.presentationTime||c.paintTime||0)-c.startTime,0);o=w("FCP",g,"soft-navigation",c.navigationId,c.interactionId,c.name,c.startTime),n=I(e,o,Q,t.reportAllChanges),n(!0)})},t)})},gt=[.1,.25],wt=e=>e.find(t=>t.node?.nodeType===1)||e[0],Jt=(e,t={})=>{let i=A(t=Object.assign({},t),tt),r=new WeakMap;i.t=a=>{if(a?.sources?.length){let n=wt(a.sources),o=n?.node;if(o){let s=t.generateTarget?.(o)??vt(o);r.set(n,s)}}},((a,n={})=>{let o=q();Ft(Pt(()=>{let s,l=w("CLS",0),c=A(n,tt),g=(m,u,h,v,S)=>{l=w("CLS",0,m,u,h,v,S),c.o=0,s=I(a,l,gt,n.reportAllChanges)},b=(m=!1)=>{c.o>l.value&&(l.value=c.o,l.entries=c.i),s(m)},D=m=>{b(!0),g("soft-navigation",m.navigationId,m.interactionId,m.name,m.startTime)},d=m=>{for(let u of m)u.entryType!=="soft-navigation"?c.l(u):D(u);b()},f=["layout-shift"];B(n)&&f.push("soft-navigation");let p=P(f,d);p&&(s=I(a,l,gt,n.reportAllChanges),o.onHidden(()=>{d(p.takeRecords()),s(!0)}),O(()=>{g("back-forward-cache",l.navigationId,l.navigationInteractionId,l.navigationURL,N()),Tt(s)}),setTimeout(s))}))})(a=>{e((n=>{let o={};if(n.entries.length){let s=n.entries.reduce((l,c)=>l.value>c.value?l:c);if(s?.sources?.length){let l=wt(s.sources);l&&(o={largestShiftTarget:r.get(l),largestShiftTime:s.startTime,largestShiftValue:s.value,largestShiftSource:l,largestShiftEntry:s,loadState:W(s.startTime)})}}return Object.assign(n,{attribution:o})})(a))},t)},Kt=(e,t={})=>{let i=A(t=Object.assign({},t),et);B(t)&&(i.u=new Map),Ft(r=>{e((a=>{let n={timeToFirstByte:0,firstByteToFCP:a.value,loadState:W(N())};if(a.navigationType!=="soft-navigation"){if(a.entries.length){let o=V(),s=a.entries.at(-1);if(o){let l=o.responseStart,c=o.activationStart||0,g=Math.max(0,l-c);n={timeToFirstByte:g,firstByteToFCP:a.value-g,loadState:W(a.entries[0].startTime),navigationEntry:o,fcpEntry:s}}}}else{let o=i.u?.get(a.navigationId);o&&(n={timeToFirstByte:0,firstByteToFCP:a.value,loadState:"complete",navigationEntry:o})}return Object.assign(a,{attribution:n})})(r))},t)},At=0,ut=1/0,K=0,Qt=e=>{for(let t of e)t.interactionId&&(ut=Math.min(ut,t.interactionId),K=Math.max(K,t.interactionId),At=K?(K-ut)/7+1:0)},Lt=()=>pt?At:performance.interactionCount??0,Xt=()=>{"interactionCount"in performance||pt||(pt=P(["event"],Qt,{durationThreshold:0}))},nt=class{constructor(){C(this,"h",0);C(this,"v",[]);C(this,"p",new Map);C(this,"m");C(this,"M")}T(){return Lt()-this.h}D(){this.h=Lt(),this.v.length=0,this.p.clear()}S(t){let i=this.T(),r=Math.min(this.v.length-1,Math.floor(i/50));return!i||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 i=this.v.at(-1),r=this.p.get(t.interactionId);if(r||this.v.length<10||t.duration>i.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)}}},ft=e=>{let t="requestIdleCallback"in globalThis?1e3:0,i=globalThis.requestIdleCallback||setTimeout,r=globalThis.cancelIdleCallback||clearTimeout;if(document.visibilityState==="hidden")e();else{let a=Pt(e),n=-1,o=()=>{r(n),a()};addEventListener("visibilitychange",o,{once:!0,capture:!0}),n=i(()=>{removeEventListener("visibilitychange",o,{capture:!0}),a()},{timeout:t})}},mt=[200,500],Yt=(e,t={})=>{let i=A(t=Object.assign({},t),nt),r=[],a=[],n=0,o=new WeakMap,s=new WeakMap,l=!1,c=()=>{l||(l=!0,ft(g))},g=()=>{let d=new Set(i.v.map(u=>o.get(u.entries[0]))),f=a.length-10;a=a.filter((u,h)=>h>=f||d.has(u));let p=new Set;for(let u of a){let h=b(u.startTime,u.processingEnd);for(let v of h)p.add(v)}let m=r.length-10;r=r.filter((u,h)=>p.has(u)||h>=m&&u.startTime>n),l=!1};i.m=d=>{let f=d.startTime+d.duration,p;n=Math.max(n,d.processingEnd);for(let m=a.length-1;m>=0;m--){let u=a[m];if(Math.abs(f-u.renderTime)<=8){p=u,p.startTime=Math.min(d.startTime,p.startTime),p.processingStart=Math.min(d.processingStart,p.processingStart),p.processingEnd=Math.max(d.processingEnd,p.processingEnd),t.includeProcessedEventEntries&&p.entries.push(d);break}}p||(p={startTime:d.startTime,processingStart:d.processingStart,processingEnd:d.processingEnd,renderTime:f,entries:t.includeProcessedEventEntries?[d]:[]},a.push(p)),d.interactionId&&o.set(d,p),c()},i.M=d=>{if(!s.get(d)){let f=d.entries.find(p=>p.target)?.target;if(f){let p=t.generateTarget?.(f)??vt(f);s.set(d,p)}else{let p=d.entries.find(m=>m.targetSelector)?.targetSelector;p&&s.set(d,p)}}};let b=(d,f)=>{let p=[];for(let m of r)if(!(m.startTime+m.duration<d)){if(m.startTime>f)break;p.push(m)}return p},D=d=>{if(d.entries.length===0){let T=d.navigationStartTime||0,E={processedEventEntries:[],longAnimationFrameEntries:[],inputDelay:0,processingDuration:0,presentationDelay:d.value,loadState:W(T)};return Object.assign(d,{attribution:E})}let f=d.entries[0],p=o.get(f),m=Math.max(p.processingStart,f.startTime),u=Math.max(f.startTime+f.duration,m),h=Math.min(p.processingEnd,u),v=p.entries.sort((T,E)=>T.processingStart-E.processingStart),S=b(f.startTime,h),L=i.p.get(f.interactionId),_={interactionTarget:s.get(L),interactionType:f.name.startsWith("key")?"keyboard":"pointer",interactionTime:f.startTime,nextPaintTime:u,processedEventEntries:v,longAnimationFrameEntries:S,inputDelay:m-f.startTime,processingDuration:h-m,presentationDelay:u-h,loadState:W(f.startTime),longestScript:void 0,totalScriptDuration:void 0,totalStyleAndLayoutDuration:void 0,totalPaintDuration:void 0,totalUnattributedDuration:void 0};return(T=>{let E=T.interactionTime,y=T.nextPaintTime;if(!T.longAnimationFrameEntries?.length||!E||!y)return;let x=T.inputDelay,F=T.processingDuration,U,j,ot=0,z=0,st=0,lt=0;for(let $ of T.longAnimationFrameEntries){z=z+$.startTime+$.duration-$.styleAndLayoutStart;for(let k of $.scripts){let St=k.startTime+k.duration;if(St<E)continue;let G=St-Math.max(E,k.startTime),Et=k.duration?G/k.duration*k.forcedStyleAndLayoutDuration:0;ot+=G-Et,z+=Et,G>lt&&(j=k.startTime<E+x?"input-delay":k.startTime>=E+x+F?"presentation-delay":"processing-duration",U=k,lt=G)}}let ct=T.longAnimationFrameEntries.at(-1),bt=ct?ct.startTime+ct.duration:0;bt>=E+x+F&&(st=y-bt),U&&j&&(T.longestScript={entry:U,subpart:j,intersectingDuration:lt}),T.totalScriptDuration=ot,T.totalStyleAndLayoutDuration=z,T.totalPaintDuration=st,T.totalUnattributedDuration=y-E-ot-z-st})(_),Object.assign(d,{attribution:_})};P(["long-animation-frame"],d=>{r=r.concat(d),c()},t),((d,f={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;let p=q();it(()=>{Xt();let m,u=w("INP"),h=A(f,nt),v=(y,x,F,U,j)=>{h.D(),u=w("INP",-1,y,x,F,U,j),m=I(d,u,mt,f.reportAllChanges)},S=()=>{let y=h.S(u.navigationType);y&&y.k!==u.value&&(u.value=y.k,u.entries=y.entries,m())},L=y=>{S(),m(!0),v("soft-navigation",y.navigationId,y.interactionId,y.name,y.startTime)},_=(y,x=!1)=>{ft(()=>{for(let F of y)F.entryType!=="soft-navigation"?h.l(F):L(F);S(),x&&m(!0)})},T=["event","first-input"];B(f)&&T.push("soft-navigation");let E=P(T,_,{...f,durationThreshold:f.durationThreshold??40});m=I(d,u,mt,f.reportAllChanges),E&&(p.onHidden(()=>{_(E.takeRecords(),!0)}),O(()=>{v("back-forward-cache",u.navigationId,u.navigationInteractionId,u.navigationURL,N())}))})})(d=>{e(D(d))},t)},at=class{constructor(){C(this,"m");C(this,"u")}l(t){this.m?.(t)}},X=[2500,4e3],xt=50,Y=[];P(["resource"],e=>{for(let t of e)Y.push(t),Y.length>xt&&Y.shift()});Zt=(e,t={})=>{(t=Object.assign({},t)).resourceBufferSize!=null&&(xt=t.resourceBufferSize);let i=A(t,at),r=new WeakMap;B(t)&&(i.u=new Map),i.m=a=>{let n=a.element;if(n){let o=t.generateTarget?.(n)??vt(n);r.set(a,o)}else a.id&&r.set(a,`#${a.id}`)},((a,n={})=>{let o=!1,s=B(n);it(()=>{let l,c=q(),g=w("LCP"),b=A(n,at),D=(u,h,v,S,L)=>{g=w("LCP",-1,u,h,v,S,L),l=I(a,g,X,n.reportAllChanges),o=!1,u==="soft-navigation"&&(c=q(!0))},d=u=>{b.u&&u.navigationId&&kt(b.u,u),o||l(!0),D("soft-navigation",u.navigationId,u.interactionId,u.name,u.startTime);let h=u.getLargestInteractionContentfulPaint?.();h&&f([h])},f=u=>{n.reportAllChanges||s||(u=u.slice(-1));for(let h of u){if(!h)continue;if(h.entryType==="soft-navigation"){d(h);continue}let v=0,S=[],L=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 _=h;if(!g.navigationId||"interactionId"in _&&_.interactionId!=g.navigationInteractionId)continue;L=_.largestContentfulPaint?.renderTime||0,v=Math.max(L-h.startTime,0),_.largestContentfulPaint&&(b.l(_.largestContentfulPaint),S=[_.largestContentfulPaint])}L<c.firstHiddenTime&&(g.value=v,g.entries=S,l())}},p=["largest-contentful-paint"];s&&p.push("interaction-contentful-paint","soft-navigation");let m=P(p,f);if(m){l=I(a,g,X,n.reportAllChanges);let u=["keydown","click","visibilitychange"],h=v=>{if(v.isTrusted&&!o){let S=g.id;ft(()=>{if(!o){if(!s){m.disconnect();for(let L of u)removeEventListener(L,h,{capture:!0})}S===g.id&&(o=!0,l(!0))}})}};for(let v of u)addEventListener(v,h,{capture:!0});O(v=>{D("back-forward-cache",g.navigationId,g.navigationInteractionId,g.navigationURL,N()),l=I(a,g,X,n.reportAllChanges),Tt(()=>{g.value=performance.now()-v.timeStamp,o=!0,l(!0)})})}})})(a=>{e((n=>{let o={timeToFirstByte:0,resourceLoadDelay:0,resourceLoadDuration:0,elementRenderDelay:n.value};if(n.entries.length){let s=n.entries.at(-1),l=d=>d.name===s.url&&(d.requestStart||d.startTime)<=s.startTime,c=s.url&&(Y.findLast(l)||performance.getEntriesByType("resource").findLast(l)),g;o.target=r.get(s),o.lcpEntry=s,s.url&&(o.url=s.url),c&&(o.lcpResourceEntry=c);let b=0,D=0;if(n.navigationType!=="soft-navigation"?(g=V(),b=g?.activationStart??0,D=g?.responseStart??0):(b=n.navigationStartTime||0,g=i.u?.get(n.navigationId)),g){let d=Math.max(0,D-b),f=Math.max(d,c?(c.requestStart||c.startTime)-b:0),p=Math.min(n.value,Math.max(f,c?c.responseEnd-b:0));o={...o,timeToFirstByte:d,resourceLoadDelay:f-d,resourceLoadDuration:p-f,elementRenderDelay:n.value-p,navigationEntry:g}}}return Object.assign(n,{attribution:o})})(a))},t)},Z=[800,1800],ht=e=>{document.prerendering?it(()=>ht(e)):document.readyState!=="complete"?addEventListener("load",()=>ht(e),!0):setTimeout(e)},te=(e,t={})=>{((i,r={})=>{let a=B(r),n=w("TTFB"),o=I(i,n,Z,r.reportAllChanges);ht(()=>{let s=V();if(s){let l=s.responseStart;n.value=Math.max(l-H(),0),n.entries=[s],o(!0),O(()=>{n=w("TTFB",0,"back-forward-cache",n.navigationId,n.navigationInteractionId,n.navigationURL,N()),o=I(i,n,Z,r.reportAllChanges),o(!0)}),a&&P(["soft-navigation"],c=>{c.forEach(g=>{g.navigationId&&(n=w("TTFB",0,"soft-navigation",g.navigationId,g.interactionId,g.name,g.startTime),n.entries=[g],o=I(i,n,Z,r.reportAllChanges),o(!0))})},r)}})})(i=>{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 o=a.activationStart||0,s=Math.max((a.workerStart||a.fetchStart||0)-o,0),l=Math.max(a.domainLookupStart-o,0),c=Math.max(a.connectStart-o,0),g=Math.max(a.connectEnd-o,0);n={waitingDuration:s,cacheDuration:l-s,dnsDuration:c-l,connectionDuration:g-c,requestDuration:r.value-g,navigationEntry:a}}return Object.assign(r,{attribution:n})})(i))},t)}});var se={};It(se,{startWebVitals:()=>Ot});function ee(e,t){return t<e}function ne({mobileHint:e,screenWidth:t}){return e===!0?"mobile":typeof t!="number"||t<=0?"unknown":t<768?"mobile":t<1024?"tablet":"desktop"}function ae(e,t){if(typeof e!="string"||!e)return null;try{return new URL(e,t).pathname}catch{return null}}function yt(e){return typeof e=="string"&&e?e.split(/[?#]/,1)[0]:null}var M=e=>typeof e=="number"&&Number.isFinite(e)?Math.round(e):null,Nt=(e,t)=>typeof e=="string"&&e?e.slice(0,t):null;function Vt(e){return typeof e?.transferSize!="number"||typeof e?.decodedBodySize!="number"?null:e.transferSize===0&&e.decodedBodySize>0?!0:e.transferSize>0?!1:null}function ie(e){return{url:Nt(yt(e.sourceURL),200),function:Nt(e.sourceFunctionName,80),invoker_type:e.invokerType??null,duration_ms:M(e.duration),forced_style_layout_ms:M(e.forcedStyleAndLayoutDuration)}}function re(e){let t=(e?.longAnimationFrameEntries??[]).flatMap(i=>i.scripts??[]);return t.length===0&&(t=[e?.longestScript?.entry].filter(Boolean)),t.length===0?null:(t.sort((i,r)=>(r.duration??0)-(i.duration??0)),t.slice(0,3).map(ie))}function oe(e,t){let i=e.name,r=i==="CLS"?Math.round(e.value*1e4)/1e4:M(e.value),a={[`$web_vitals_${i}_value`]:r,vital:i,value:r,rating:e.rating,metric_id:e.id,navigation_type:e.navigationType??null,path:ae(e.navigationURL??t.pageUrl,t.pageUrl),deploy_version:t.deployVersion??null,device_class:t.deviceClass,page_template:e.navigationType==="soft-navigation"?null:t.pageTemplate??null},n=e.attribution??{};return i==="INP"&&(a.inp_target=n.interactionTarget||null,a.inp_longest_script_url=yt(n.longestScript?.entry?.sourceURL),a.inp_input_delay_ms=M(n.inputDelay),a.inp_processing_ms=M(n.processingDuration),a.inp_presentation_delay_ms=M(n.presentationDelay),a.inp_interaction_type=n.interactionType??null,a.inp_load_state=n.loadState??null,a.inp_scripts=re(n)),i==="LCP"&&(a.lcp_ttfb_ms=M(n.timeToFirstByte),a.lcp_resource_load_delay_ms=M(n.resourceLoadDelay),a.lcp_resource_load_duration_ms=M(n.resourceLoadDuration),a.lcp_element_render_delay_ms=M(n.elementRenderDelay),a.lcp_target=n.target??null,a.lcp_url=/^(?:data|blob):/.test(n.url??"")?"data:":yt(n.url),a.lcp_element_tag=n.lcpEntry?.element?.tagName?.toLowerCase()??null,a.lcp_nav_cached=Vt(n.navigationEntry),a.lcp_resource_cached=Vt(n.lcpResourceEntry)),i==="CLS"&&(a.cls_target=n.largestShiftTarget??null,a.cls_largest_shift=Number.isFinite(n.largestShiftValue)?Math.round(n.largestShiftValue*1e4)/1e4:null,a.cls_largest_shift_time_ms=M(n.largestShiftTime),a.cls_load_state=n.loadState??null),a}var rt={started:!1,send:null};function Ot(e,t,{load:i=()=>Promise.resolve().then(()=>(Bt(),Rt)),roll:r=Math.random()}={}){if(rt.send=t,rt.started||(rt.started=!0,!ee(e.sampleRate,r)))return Promise.resolve();let a={deployVersion:e.deployVersion,pageTemplate:e.pageTemplate,deviceClass:ne({mobileHint:globalThis.navigator?.userAgentData?.mobile,screenWidth:globalThis.screen?.width})},n=s=>{try{rt.send?.("$web_vitals",oe(s,{...a,pageUrl:globalThis.location?.href}))}catch{}},o={reportSoftNavs:e.softNavigations};return Promise.resolve().then(i).then(s=>{for(let l of[s.onLCP,s.onINP,s.onCLS,s.onFCP,s.onTTFB])l(n,o)}).catch(()=>{})}return $t(se);})();
|
|
1
|
+
"use strict";var WeborityAnalyticsWebVitals=(()=>{var J=Object.defineProperty;var Ot=Object.getOwnPropertyDescriptor;var Wt=Object.getOwnPropertyNames;var jt=Object.prototype.hasOwnProperty;var zt=(e,t,a)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Ht=(e,t,a)=>()=>{if(a)throw a[0];try{return e&&(t=e(e=0)),t}catch(r){throw a=[r],r}};var Et=(e,t)=>{for(var a in t)J(e,a,{get:t[a],enumerable:!0})},qt=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Wt(t))!jt.call(e,i)&&i!==a&&J(e,i,{get:()=>t[i],enumerable:!(r=Ot(t,i))||r.enumerable});return e};var $t=e=>qt(J({},"__esModule",{value:!0}),e);var P=(e,t,a)=>zt(e,typeof t!="symbol"?t+"":t,a);var Vt={};Et(Vt,{CLSThresholds:()=>pt,FCPThresholds:()=>Q,INPThresholds:()=>ft,LCPThresholds:()=>X,TTFBThresholds:()=>Z,onCLS:()=>Jt,onFCP:()=>Kt,onINP:()=>Yt,onLCP:()=>Zt,onTTFB:()=>te});function A(e,t){let a=It.get(t);return a||(a=new WeakMap,It.set(t,a)),a.get(e)||a.set(e,new t),a.get(e)}var tt,B,z,Gt,ht,It,kt,x,U,E,yt,q,V,_t,Pt,dt,H,L,D,N,Mt,Dt,et,at,Q,Rt,pt,Lt,Jt,Kt,At,ut,K,Qt,gt,wt,Xt,nt,mt,ft,Yt,it,X,Ft,Y,Zt,Z,vt,te,Nt=Ht(()=>{tt=class{constructor(){P(this,"t");P(this,"o",0);P(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)}},B=()=>{let e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},z=e=>{if(document.readyState==="loading")return"loading";let t=B();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"},Gt=e=>{let t=e.nodeName;return e.nodeType===1?t.toLowerCase():t.toUpperCase().replace(/^#/,"")},ht=e=>{let t="";try{for(;e?.nodeType!==9;){let a=e,r=a.id?"#"+a.id:[Gt(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},It=new WeakMap;kt=-1,x=()=>kt,U=e=>{addEventListener("pageshow",t=>{t.persisted&&(kt=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=((l,s)=>l>s[1]?"poor":l>s[0]?"needs-improvement":"good")(t.value,a),e(t)))}},yt=e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))},q=()=>B()?.activationStart??0,V=-1,_t=new Set,Pt=()=>document.visibilityState!=="hidden"||document.prerendering?1/0:0,dt=e=>{if(document.visibilityState==="hidden"){if(e.type==="visibilitychange")for(let t of _t)t();isFinite(V)||(V=e.type==="visibilitychange"?e.timeStamp:0,removeEventListener("prerenderingchange",dt,!0))}},H=(e=!1)=>{if(e&&(V=1/0),V<0){let t=q();V=(document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").find(r=>r.name==="hidden"&&r.startTime>=t)?.startTime)??Pt(),addEventListener("visibilitychange",dt,!0),addEventListener("prerenderingchange",dt,!0),U(()=>{setTimeout(()=>{V=Pt()})})}return{get firstHiddenTime(){return V},onHidden(t){_t.add(t)}}},L=(e,t=-1,a,r=0,i,n,o)=>{let l=B(),s=l?.navigationId||0,c="navigate";return a?c=a:x()>=0?c="back-forward-cache":l&&(document.prerendering||q()>0?c="prerender":document.wasDiscarded?c="restore":l.type&&(c=l.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v6-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:c,navigationId:r||s,navigationInteractionId:i,navigationURL:n||l?.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((l,s)=>l.startTime+l.duration-(s.startTime+s.duration)),t(o)})});for(let n of r)i.observe({type:n,buffered:!0,...a});return i}}catch{}},N=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 a=e.keys().next().value;a!==void 0&&e.delete(a)}},Dt=e=>{let t=!1;return()=>{t||(e(),t=!0)}},et=class{constructor(){P(this,"u")}},at=e=>{document.prerendering?addEventListener("prerenderingchange",e,!0):e()},Q=[1800,3e3],Rt=(e,t={})=>{let a=N(t);at(()=>{let r=A(t,et),i=H(),n,o=L("FCP"),l=D(["paint"],s=>{for(let c of s)c.name==="first-contentful-paint"&&(l.disconnect(),c.startTime<i.firstHiddenTime&&(o.value=Math.max(c.startTime-q(),0),o.entries.push(c),o.navigationId=c.navigationId||o.navigationId,n(!0)))});l&&(n=E(e,o,Q,t.reportAllChanges),U(s=>{o=L("FCP",-1,"back-forward-cache",o.navigationId,o.navigationInteractionId,o.navigationURL,x()),n=E(e,o,Q,t.reportAllChanges),yt(()=>{o.value=performance.now()-s.timeStamp,n(!0)})})),a&&D(["soft-navigation"],s=>{s.forEach(c=>{r.u&&c.navigationId&&Mt(r.u,c);let p=Math.max((c.presentationTime||c.paintTime||0)-c.startTime,0);o=L("FCP",p,"soft-navigation",c.navigationId,c.interactionId,c.name,c.startTime),n=E(e,o,Q,t.reportAllChanges),n(!0)})},t)})},pt=[.1,.25],Lt=e=>e.find(t=>t.node?.nodeType===1)||e[0],Jt=(e,t={})=>{let a=A(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 l=t.generateTarget?.(o)??ht(o);r.set(n,l)}}},((i,n={})=>{let o=H();Rt(Dt(()=>{let l,s=L("CLS",0),c=A(n,tt),p=(f,u,v,h,S)=>{s=L("CLS",0,f,u,v,h,S),c.o=0,l=E(i,s,pt,n.reportAllChanges)},b=(f=!1)=>{c.o>s.value&&(s.value=c.o,s.entries=c.i),l(f)},_=f=>{b(!0),p("soft-navigation",f.navigationId,f.interactionId,f.name,f.startTime)},d=f=>{for(let u of f)u.entryType!=="soft-navigation"?c.l(u):_(u);b()},m=["layout-shift"];N(n)&&m.push("soft-navigation");let g=D(m,d);g&&(l=E(i,s,pt,n.reportAllChanges),o.onHidden(()=>{d(g.takeRecords()),l(!0)}),U(()=>{p("back-forward-cache",s.navigationId,s.navigationInteractionId,s.navigationURL,x()),yt(l)}),setTimeout(l))}))})(i=>{e((n=>{let o={};if(n.entries.length){let l=n.entries.reduce((s,c)=>s.value>c.value?s:c);if(l?.sources?.length){let s=Lt(l.sources);s&&(o={largestShiftTarget:r.get(s),largestShiftTime:l.startTime,largestShiftValue:l.value,largestShiftSource:s,largestShiftEntry:l,loadState:z(l.startTime)})}}return Object.assign(n,{attribution:o})})(i))},t)},Kt=(e,t={})=>{let a=A(t=Object.assign({},t),et);N(t)&&(a.u=new Map),Rt(r=>{e((i=>{let n={timeToFirstByte:0,firstByteToFCP:i.value,loadState:z(x())};if(i.navigationType!=="soft-navigation"){if(i.entries.length){let o=B(),l=i.entries.at(-1);if(o){let s=o.responseStart,c=o.activationStart||0,p=Math.max(0,s-c);n={timeToFirstByte:p,firstByteToFCP:i.value-p,loadState:z(i.entries[0].startTime),navigationEntry:o,fcpEntry:l}}}}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)},At=0,ut=1/0,K=0,Qt=e=>{for(let t of e)t.interactionId&&(ut=Math.min(ut,t.interactionId),K=Math.max(K,t.interactionId),At=K?(K-ut)/7+1:0)},wt=()=>gt?At:performance.interactionCount??0,Xt=()=>{"interactionCount"in performance||gt||(gt=D(["event"],Qt,{durationThreshold:0}))},nt=class{constructor(){P(this,"h",0);P(this,"v",[]);P(this,"p",new Map);P(this,"m");P(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})}},ft=[200,500],Yt=(e,t={})=>{let a=A(t=Object.assign({},t),nt),r=[],i=[],n=0,o=new WeakMap,l=new WeakMap,s=!1,c=()=>{s||(s=!0,mt(p))},p=()=>{let d=new Set(a.v.map(u=>o.get(u.entries[0]))),m=i.length-10;i=i.filter((u,v)=>v>=m||d.has(u));let g=new Set;for(let u of i){let v=b(u.startTime,u.processingEnd);for(let h of v)g.add(h)}let f=r.length-10;r=r.filter((u,v)=>g.has(u)||v>=f&&u.startTime>n),s=!1};a.m=d=>{let m=d.startTime+d.duration,g;n=Math.max(n,d.processingEnd);for(let f=i.length-1;f>=0;f--){let u=i[f];if(Math.abs(m-u.renderTime)<=8){g=u,g.startTime=Math.min(d.startTime,g.startTime),g.processingStart=Math.min(d.processingStart,g.processingStart),g.processingEnd=Math.max(d.processingEnd,g.processingEnd),t.includeProcessedEventEntries&&g.entries.push(d);break}}g||(g={startTime:d.startTime,processingStart:d.processingStart,processingEnd:d.processingEnd,renderTime:m,entries:t.includeProcessedEventEntries?[d]:[]},i.push(g)),d.interactionId&&o.set(d,g),c()},a.M=d=>{if(!l.get(d)){let m=d.entries.find(g=>g.target)?.target;if(m){let g=t.generateTarget?.(m)??ht(m);l.set(d,g)}else{let g=d.entries.find(f=>f.targetSelector)?.targetSelector;g&&l.set(d,g)}}};let b=(d,m)=>{let g=[];for(let f of r)if(!(f.startTime+f.duration<d)){if(f.startTime>m)break;g.push(f)}return g},_=d=>{if(d.entries.length===0){let y=d.navigationStartTime||0,C={processedEventEntries:[],longAnimationFrameEntries:[],inputDelay:0,processingDuration:0,presentationDelay:d.value,loadState:z(y)};return Object.assign(d,{attribution:C})}let m=d.entries[0],g=o.get(m),f=Math.max(g.processingStart,m.startTime),u=Math.max(m.startTime+m.duration,f),v=Math.min(g.processingEnd,u),h=g.entries.sort((y,C)=>y.processingStart-C.processingStart),S=b(m.startTime,v),w=a.p.get(m.interactionId),I={interactionTarget:l.get(w),interactionType:m.name.startsWith("key")?"keyboard":"pointer",interactionTime:m.startTime,nextPaintTime:u,processedEventEntries:h,longAnimationFrameEntries:S,inputDelay:f-m.startTime,processingDuration:v-f,presentationDelay:u-v,loadState:z(m.startTime),longestScript:void 0,totalScriptDuration:void 0,totalStyleAndLayoutDuration:void 0,totalPaintDuration:void 0,totalUnattributedDuration:void 0};return(y=>{let C=y.interactionTime,T=y.nextPaintTime;if(!y.longAnimationFrameEntries?.length||!C||!T)return;let F=y.inputDelay,R=y.processingDuration,O,W,ot=0,j=0,st=0,lt=0;for(let $ of y.longAnimationFrameEntries){j=j+$.startTime+$.duration-$.styleAndLayoutStart;for(let M of $.scripts){let St=M.startTime+M.duration;if(St<C)continue;let G=St-Math.max(C,M.startTime),Ct=M.duration?G/M.duration*M.forcedStyleAndLayoutDuration:0;ot+=G-Ct,j+=Ct,G>lt&&(W=M.startTime<C+F?"input-delay":M.startTime>=C+F+R?"presentation-delay":"processing-duration",O=M,lt=G)}}let ct=y.longAnimationFrameEntries.at(-1),bt=ct?ct.startTime+ct.duration:0;bt>=C+F+R&&(st=T-bt),O&&W&&(y.longestScript={entry:O,subpart:W,intersectingDuration:lt}),y.totalScriptDuration=ot,y.totalStyleAndLayoutDuration=j,y.totalPaintDuration=st,y.totalUnattributedDuration=T-C-ot-j-st})(I),Object.assign(d,{attribution:I})};D(["long-animation-frame"],d=>{r=r.concat(d),c()},t),((d,m={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;let g=H();at(()=>{Xt();let f,u=L("INP"),v=A(m,nt),h=(T,F,R,O,W)=>{v.D(),u=L("INP",-1,T,F,R,O,W),f=E(d,u,ft,m.reportAllChanges)},S=()=>{let T=v.S(u.navigationType);T&&T.k!==u.value&&(u.value=T.k,u.entries=T.entries,f())},w=T=>{S(),f(!0),h("soft-navigation",T.navigationId,T.interactionId,T.name,T.startTime)},I=(T,F=!1)=>{mt(()=>{for(let R of T)R.entryType!=="soft-navigation"?v.l(R):w(R);S(),F&&f(!0)})},y=["event","first-input"];N(m)&&y.push("soft-navigation");let C=D(y,I,{...m,durationThreshold:m.durationThreshold??40});f=E(d,u,ft,m.reportAllChanges),C&&(g.onHidden(()=>{I(C.takeRecords(),!0)}),U(()=>{h("back-forward-cache",u.navigationId,u.navigationInteractionId,u.navigationURL,x())}))})})(d=>{e(_(d))},t)},it=class{constructor(){P(this,"m");P(this,"u")}l(t){this.m?.(t)}},X=[2500,4e3],Ft=50,Y=[];D(["resource"],e=>{for(let t of e)Y.push(t),Y.length>Ft&&Y.shift()});Zt=(e,t={})=>{(t=Object.assign({},t)).resourceBufferSize!=null&&(Ft=t.resourceBufferSize);let a=A(t,it),r=new WeakMap;N(t)&&(a.u=new Map),a.m=i=>{let n=i.element;if(n){let o=t.generateTarget?.(n)??ht(n);r.set(i,o)}else i.id&&r.set(i,`#${i.id}`)},((i,n={})=>{let o=!1,l=N(n);at(()=>{let s,c=H(),p=L("LCP"),b=A(n,it),_=(u,v,h,S,w)=>{p=L("LCP",-1,u,v,h,S,w),s=E(i,p,X,n.reportAllChanges),o=!1,u==="soft-navigation"&&(c=H(!0))},d=u=>{b.u&&u.navigationId&&Mt(b.u,u),o||s(!0),_("soft-navigation",u.navigationId,u.interactionId,u.name,u.startTime);let v=u.getLargestInteractionContentfulPaint?.();v&&m([v])},m=u=>{n.reportAllChanges||l||(u=u.slice(-1));for(let v of u){if(!v)continue;if(v.entryType==="soft-navigation"){d(v);continue}let h=0,S=[],w=v.startTime;if(v.entryType==="largest-contentful-paint")h=Math.max(v.startTime-q(),0),b.l(v),S=[v];else if(v.entryType==="interaction-contentful-paint"){let I=v;if(!p.navigationId||"interactionId"in I&&I.interactionId!=p.navigationInteractionId)continue;w=I.largestContentfulPaint?.renderTime||0,h=Math.max(w-v.startTime,0),I.largestContentfulPaint&&(b.l(I.largestContentfulPaint),S=[I.largestContentfulPaint])}w<c.firstHiddenTime&&(p.value=h,p.entries=S,s())}},g=["largest-contentful-paint"];l&&g.push("interaction-contentful-paint","soft-navigation");let f=D(g,m);if(f){s=E(i,p,X,n.reportAllChanges);let u=["keydown","click","visibilitychange"],v=h=>{if(h.isTrusted&&!o){let S=p.id;mt(()=>{if(!o){if(!l){f.disconnect();for(let w of u)removeEventListener(w,v,{capture:!0})}S===p.id&&(o=!0,s(!0))}})}};for(let h of u)addEventListener(h,v,{capture:!0});U(h=>{_("back-forward-cache",p.navigationId,p.navigationInteractionId,p.navigationURL,x()),s=E(i,p,X,n.reportAllChanges),yt(()=>{p.value=performance.now()-h.timeStamp,o=!0,s(!0)})})}})})(i=>{e((n=>{let o={timeToFirstByte:0,resourceLoadDelay:0,resourceLoadDuration:0,elementRenderDelay:n.value};if(n.entries.length){let l=n.entries.at(-1),s=d=>d.name===l.url&&(d.requestStart||d.startTime)<=l.startTime,c=l.url&&(Y.findLast(s)||performance.getEntriesByType("resource").findLast(s)),p;o.target=r.get(l),o.lcpEntry=l,l.url&&(o.url=l.url),c&&(o.lcpResourceEntry=c);let b=0,_=0;if(n.navigationType!=="soft-navigation"?(p=B(),b=p?.activationStart??0,_=p?.responseStart??0):(b=n.navigationStartTime||0,p=a.u?.get(n.navigationId)),p){let d=Math.max(0,_-b),m=Math.max(d,c?(c.requestStart||c.startTime)-b:0),g=Math.min(n.value,Math.max(m,c?c.responseEnd-b:0));o={...o,timeToFirstByte:d,resourceLoadDelay:m-d,resourceLoadDuration:g-m,elementRenderDelay:n.value-g,navigationEntry:p}}}return Object.assign(n,{attribution:o})})(i))},t)},Z=[800,1800],vt=e=>{document.prerendering?at(()=>vt(e)):document.readyState!=="complete"?addEventListener("load",()=>vt(e),!0):setTimeout(e)},te=(e,t={})=>{((a,r={})=>{let i=N(r),n=L("TTFB"),o=E(a,n,Z,r.reportAllChanges);vt(()=>{let l=B();if(l){let s=l.responseStart;n.value=Math.max(s-q(),0),n.entries=[l],o(!0),U(()=>{n=L("TTFB",0,"back-forward-cache",n.navigationId,n.navigationInteractionId,n.navigationURL,x()),o=E(a,n,Z,r.reportAllChanges),o(!0)}),i&&D(["soft-navigation"],c=>{c.forEach(p=>{p.navigationId&&(n=L("TTFB",0,"soft-navigation",p.navigationId,p.interactionId,p.name,p.startTime),n.entries=[p],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,l=Math.max((i.workerStart||i.fetchStart||0)-o,0),s=Math.max(i.domainLookupStart-o,0),c=Math.max(i.connectStart-o,0),p=Math.max(i.connectEnd-o,0);n={waitingDuration:l,cacheDuration:s-l,dnsDuration:c-s,connectionDuration:p-c,requestDuration:r.value-p,navigationEntry:i}}return Object.assign(r,{attribution:n})})(a))},t)}});var se={};Et(se,{startWebVitals:()=>Ut});function ee(e,t){return t<e}function ne({mobileHint:e,screenWidth:t}){return e===!0?"mobile":typeof t!="number"||t<=0?"unknown":t<768?"mobile":t<1024?"tablet":"desktop"}function ie(e,t){if(typeof e!="string"||!e)return null;try{return new URL(e,t).pathname}catch{return null}}function Tt(e){return typeof e=="string"&&e?e.split(/[?#]/,1)[0]??null:null}var k=e=>typeof e=="number"&&Number.isFinite(e)?Math.round(e):null,xt=(e,t)=>typeof e=="string"&&e?e.slice(0,t):null;function Bt(e){return typeof e?.transferSize!="number"||typeof e?.decodedBodySize!="number"?null:e.transferSize===0&&e.decodedBodySize>0?!0:e.transferSize>0?!1:null}function ae(e){return{url:xt(Tt(e.sourceURL),200),function:xt(e.sourceFunctionName,80),invoker_type:e.invokerType??null,duration_ms:k(e.duration),forced_style_layout_ms:k(e.forcedStyleAndLayoutDuration)}}function re(e){let t=(e?.longAnimationFrameEntries??[]).flatMap(a=>a.scripts??[]);return t.length===0&&(t=[e?.longestScript?.entry].filter(a=>!!a)),t.length===0?null:(t.sort((a,r)=>(r.duration??0)-(a.duration??0)),t.slice(0,3).map(ae))}function oe(e,t){let a=e.name,r=a==="CLS"?Math.round(e.value*1e4)/1e4:k(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:ie(e.navigationURL??t.pageUrl,t.pageUrl),deploy_version:t.deployVersion??null,device_class:t.deviceClass,page_template:e.navigationType==="soft-navigation"?null:t.pageTemplate??null};if(e.name==="INP"){let n=e.attribution??{};i.inp_target=n.interactionTarget||null,i.inp_longest_script_url=Tt(n.longestScript?.entry?.sourceURL),i.inp_input_delay_ms=k(n.inputDelay),i.inp_processing_ms=k(n.processingDuration),i.inp_presentation_delay_ms=k(n.presentationDelay),i.inp_interaction_type=n.interactionType??null,i.inp_load_state=n.loadState??null,i.inp_scripts=re(n)}if(e.name==="LCP"){let n=e.attribution??{};i.lcp_ttfb_ms=k(n.timeToFirstByte),i.lcp_resource_load_delay_ms=k(n.resourceLoadDelay),i.lcp_resource_load_duration_ms=k(n.resourceLoadDuration),i.lcp_element_render_delay_ms=k(n.elementRenderDelay),i.lcp_target=n.target??null,i.lcp_url=/^(?:data|blob):/.test(n.url??"")?"data:":Tt(n.url),i.lcp_element_tag=n.lcpEntry?.element?.tagName?.toLowerCase()??null,i.lcp_nav_cached=Bt(n.navigationEntry),i.lcp_resource_cached=Bt(n.lcpResourceEntry)}if(e.name==="CLS"){let n=e.attribution??{};i.cls_target=n.largestShiftTarget??null,i.cls_largest_shift=typeof n.largestShiftValue=="number"&&Number.isFinite(n.largestShiftValue)?Math.round(n.largestShiftValue*1e4)/1e4:null,i.cls_largest_shift_time_ms=k(n.largestShiftTime),i.cls_load_state=n.loadState??null}return i}var rt={started:!1,send:null};function Ut(e,t,{load:a=()=>Promise.resolve().then(()=>(Nt(),Vt)),roll:r=Math.random()}={}){if(rt.send=t,rt.started||(rt.started=!0,!ee(e.sampleRate,r)))return Promise.resolve();let i=globalThis.navigator,n={deployVersion:e.deployVersion,pageTemplate:e.pageTemplate,deviceClass:ne({mobileHint:i?.userAgentData?.mobile,screenWidth:globalThis.screen?.width})},o=s=>{try{rt.send?.("$web_vitals",oe(s,{...n,pageUrl:globalThis.location?.href}))}catch{}},l={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(o,l)}).catch(()=>{})}return $t(se);})();
|
package/package.json
CHANGED
|
@@ -1,22 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webority/analytics",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.38.1",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
|
+
"types": "./dist/types/index.d.ts",
|
|
7
8
|
"exports": {
|
|
8
|
-
".":
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"./
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/types/index.d.ts",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./site": {
|
|
14
|
+
"types": "./dist/types/site.d.ts",
|
|
15
|
+
"default": "./dist/site.js"
|
|
16
|
+
},
|
|
17
|
+
"./errors": {
|
|
18
|
+
"types": "./dist/types/errors.d.ts",
|
|
19
|
+
"default": "./dist/errors.js"
|
|
20
|
+
},
|
|
21
|
+
"./node": {
|
|
22
|
+
"types": "./dist/types/node/index.d.ts",
|
|
23
|
+
"default": "./dist/node.js"
|
|
24
|
+
},
|
|
25
|
+
"./react-native": {
|
|
26
|
+
"types": "./dist/types/react-native/index.d.ts",
|
|
27
|
+
"default": "./dist/react-native.js"
|
|
28
|
+
},
|
|
13
29
|
"./dist/webority-analytics-site.global.js": "./dist/webority-analytics-site.global.js",
|
|
14
30
|
"./dist/webority-analytics-web-vitals.global.js": "./dist/webority-analytics-web-vitals.global.js"
|
|
15
31
|
},
|
|
16
32
|
"imports": {
|
|
17
33
|
"#site-web-vitals": {
|
|
18
|
-
"webority-site-global": "./src/site-web-vitals-script.
|
|
19
|
-
"default": "./src/site-web-vitals.
|
|
34
|
+
"webority-site-global": "./src/site-web-vitals-script.ts",
|
|
35
|
+
"default": "./src/site-web-vitals.ts"
|
|
20
36
|
}
|
|
21
37
|
},
|
|
22
38
|
"sideEffects": [
|
|
@@ -47,9 +63,11 @@
|
|
|
47
63
|
},
|
|
48
64
|
"devDependencies": {
|
|
49
65
|
"@biomejs/biome": "2.5.8",
|
|
66
|
+
"@types/node": "24.19.2",
|
|
50
67
|
"esbuild": "0.28.2",
|
|
51
68
|
"posthog-js": "1.417.1",
|
|
52
69
|
"posthog-node": "5.61.2",
|
|
70
|
+
"typescript": "7.0.2",
|
|
53
71
|
"web-vitals": "6.2.3"
|
|
54
72
|
},
|
|
55
73
|
"module": "dist/index.js",
|
|
@@ -61,11 +79,12 @@
|
|
|
61
79
|
}
|
|
62
80
|
},
|
|
63
81
|
"scripts": {
|
|
64
|
-
"build": "node -e \"require(\\\"node:fs\\\").rmSync(\\\"dist\\\",{recursive:true,force:true})\" && esbuild src/index.
|
|
82
|
+
"build": "node -e \"require(\\\"node:fs\\\").rmSync(\\\"dist\\\",{recursive:true,force:true})\" && esbuild src/index.ts src/site.ts src/errors.ts --bundle --splitting --format=esm --external:posthog-js --target=es2020 --minify --outdir=dist && esbuild src/site.ts --bundle --format=iife --global-name=WeborityAnalytics --alias:posthog-js=./src/site-posthog-snippet.ts --conditions=webority-site-global --target=es2020 --minify --outfile=dist/webority-analytics-site.global.js && esbuild src/web-vitals-global.ts --bundle --format=iife --global-name=WeborityAnalyticsWebVitals --target=es2020 --minify --outfile=dist/webority-analytics-web-vitals.global.js && esbuild src/react-native/index.ts --bundle --format=esm --external:posthog-react-native --target=es2020 --minify --outfile=dist/react-native.js && esbuild src/node/index.ts --bundle --platform=node --format=esm --external:posthog-node --target=node20 --minify --outfile=dist/node.js && esbuild src/catalogue/check-events.ts src/catalogue/generate-events.ts --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)\" && tsc -p tsconfig.json",
|
|
65
83
|
"lint": "biome lint ./src ./test",
|
|
66
84
|
"format": "biome format --write ./src ./test",
|
|
67
85
|
"check": "biome check ./src ./test",
|
|
68
|
-
"test": "node test/smoke.
|
|
69
|
-
"catalogue:generate": "node src/catalogue/generate-events.
|
|
86
|
+
"test": "tsc -p tsconfig.test.json && node test/smoke.ts && node test/site.ts && node test/errors.ts && node test/react-native.ts && node test/url-scrub.ts && node test/web-vitals.ts && node test/tours.ts && node test/catalogue.ts &&node src/catalogue/generate-events.ts --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.ts && node test/types.ts",
|
|
87
|
+
"catalogue:generate": "node src/catalogue/generate-events.ts --plan src/catalogue/fleet-tracking-plan.json --cs ../Webority.Analytics/FleetEventCatalogue.g.cs --cs-namespace Webority.Analytics --cs-class FleetEventCatalogue --cs-internal",
|
|
88
|
+
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json"
|
|
70
89
|
}
|
|
71
90
|
}
|
package/dist/chunk-BXYJOYLR.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as ee}from"./chunk-TPTUIQE4.js";var ve=["google","googleads","adwords","youtube"],xe=["meta","facebook","fb","instagram","ig","messenger"],Ue=["linkedin","lnkd"],Fe=["bing","microsoft","microsoftads","msn"],te=Object.freeze([["chatgpt",["chatgpt.com","chat.openai.com"]],["perplexity",["perplexity.ai"]],["gemini",["gemini.google.com"]],["copilot",["copilot.microsoft.com"]],["claude",["claude.ai"]],["you",["you.com"]],["phind",["phind.com"]],["deepseek",["deepseek.com"]],["grok",["grok.com"]],["meta_ai",["meta.ai"]],["poe",["poe.com"]]]),Pe=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],Me=["google","yandex"],$e=["facebook.com","fb.com","instagram.com","linkedin.com","lnkd.in","twitter.com","t.co","x.com","reddit.com","pinterest.com","youtube.com","youtu.be","tiktok.com","whatsapp.com","threads.net","t.me","telegram.org"],f=Object.freeze({DIRECT:"direct",GOOGLE:"google",META:"meta",LINKEDIN:"linkedin",MICROSOFT:"microsoft",OTHER:"other",AI_ASSISTANT:"ai_assistant",ORGANIC_SEARCH:"organic_search",ORGANIC_SOCIAL:"organic_social",REFERRAL:"referral"});function w(e){if(!e)return f.DIRECT;let t=m(e.utmSource);if(t){let r=O(t);if(ve.includes(r))return f.GOOGLE;if(xe.includes(r))return f.META;if(Ue.includes(r))return f.LINKEDIN;if(Fe.includes(r))return f.MICROSOFT}if(m(e.fbclid))return f.META;if(m(e.gclid)||m(e.gbraid)||m(e.wbraid))return f.GOOGLE;if(m(e.liFatId))return f.LINKEDIN;if(m(e.msclkid))return f.MICROSOFT;if(ne(t))return f.AI_ASSISTANT;if(t||m(e.utmMedium)||m(e.utmCampaign)||m(e.utmContent)||m(e.utmTerm))return f.OTHER;let o=ie(e.referrer);return o?oe(o)?f.AI_ASSISTANT:Ge(o)?f.ORGANIC_SEARCH:$e.some(r=>re(o,r))?f.ORGANIC_SOCIAL:f.REFERRAL:f.DIRECT}function x(e){if(!e)return"";let t=ne(m(e.utmSource));if(t)return t;let n=ie(e.referrer);return n?oe(n):""}function ne(e){if(!e)return"";let t=O(e);for(let[n,o]of te)if(O(n)===t||o.some(r=>O(r)===t))return n;return""}function oe(e){for(let[t,n]of te)if(n.some(o=>re(e,o)))return t;return""}function Ge(e){return Pe.includes(e)?!0:Me.some(t=>{if(!e.startsWith(`${t}.`))return!1;let n=e.slice(t.length+1).split(".");return n.length===1||n.length===2&&(n[0]==="co"||n[0]==="com")})}function re(e,t){return e===t||e.endsWith(`.${t}`)}function ie(e){let t=m(e);if(!t)return"";try{let n=new URL(/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?t:`https://${t}`).hostname.toLowerCase();return n.startsWith("www.")?n.slice(4):n}catch{return""}}function O(e){return String(e).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function m(e){return String(e??"").trim()}var U=Object.freeze(["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","IS","LI","NO","GB","CH"]);function He(e){let t=typeof e=="string"?e.trim().toUpperCase():"";return t.length!==2||t==="XX"||t==="T1"?!0:U.includes(t)}var A="webority_cookie_consent",se="webority-consent-change",ce=365,a={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:ce,cookieDomain:null,regionCookie:null,region:null,saved:null},ue=["eea","other"],F=new Set;function Be(e){let t=e?.strictOptIn??!1;if(typeof t!="boolean")throw new Error("@webority/analytics: initConsent strictOptIn must be true or false, or left out.");if(t){if(e.requiresOptIn!==void 0&&e.requiresOptIn!==!0)throw new Error("@webority/analytics: initConsent strictOptIn asks every visitor to opt in, so requiresOptIn must be true or left out.")}else if(typeof e?.requiresOptIn!="boolean")throw new Error("@webority/analytics: initConsent needs requiresOptIn (true or false), decided from the visitor's country.");if(e.cookieDomain!==void 0&&(typeof e.cookieDomain!="string"||!e.cookieDomain.trim()))throw new Error('@webority/analytics: initConsent cookieDomain must be a domain such as ".example.com", or left out.');if(e.cookieDays!==void 0&&!(Number.isInteger(e.cookieDays)&&e.cookieDays>0))throw new Error("@webority/analytics: initConsent cookieDays must be a whole number of days above zero, or left out.");if(e.adStorage!==void 0&&typeof e.adStorage!="boolean")throw new Error("@webority/analytics: initConsent adStorage must be true or false, or left out.");if(e.regionCookie!==void 0&&(typeof e.regionCookie!="string"||!/^[\w.-]+$/.test(e.regionCookie)))throw new Error('@webority/analytics: initConsent regionCookie must be a cookie name such as "wui_region", or left out.');a.initialized=!0,a.strictOptIn=t,a.requiresOptIn=t||e.requiresOptIn,a.adStorage=e.adStorage??!t,a.cookieDays=e.cookieDays??ce,a.cookieDomain=e.cookieDomain?.trim()??null,a.regionCookie=e.regionCookie??null,a.region=a.regionCookie?We(a.regionCookie):null;let{saved:n,entryCount:o}=je();a.saved=n,a.cookieDomain&&o>1&&n&&me(n),Ke(),Ve(),a.saved?$(a.saved):fe()&&pe()}function ze(e){if(M("setConsentRegion"),!ue.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=d();if(a.region=e,a.saved)return;let n=d();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(pe(),de(n))}function E(){return a.initialized}function le(){return a.strictOptIn}function P(){return a.adStorage}function d(){M("getConsent");let e=a.saved;if(e)return{essential:!0,analytics:e.analytics,functional:e.functional,marketing:e.marketing,decided:!0};if(fe())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let t=!a.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function qe(e){M("saveConsent");let t={essential:!0,analytics:e?.analytics===!0,functional:e?.functional===!0,marketing:e?.marketing===!0,timestamp:new Date().toISOString()};me(t),a.saved=t,$(t),de(d())}function y(e){return F.add(e),()=>F.delete(e)}function de(e){for(let t of F)try{t(e)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(se,{detail:e}))}function M(e){if(!a.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function S(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function Ke(){if(a.strictOptIn){S("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500});return}S("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500,region:[...U]});let e=a.adStorage?"granted":"denied";S("consent","default",{ad_storage:e,ad_user_data:e,ad_personalization:e,analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"})}function Ve(){S("set","ads_data_redaction",!0),S("set","url_passthrough",!0)}function fe(){return a.requiresOptIn&&!a.strictOptIn&&a.region==="other"}function pe(){let e=d();$(e,e.analytics&&a.adStorage)}function $(e,t=e.marketing&&a.adStorage){let n=o=>o?"granted":"denied";S("consent","update",{analytics_storage:n(e.analytics),functionality_storage:n(e.functional),personalization_storage:n(e.functional),ad_storage:n(t),ad_user_data:n(t),ad_personalization:n(t)})}function je(){let e=`${A}=`,t=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(e)),n=t.map(o=>Ye(o.slice(e.length))).filter(Boolean);return{saved:Qe(n),entryCount:t.length}}function We(e){let t=`${e}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(t))?.slice(t.length);return ue.includes(o)?o:null}function Ye(e){try{let t=JSON.parse(decodeURIComponent(e));return!t||typeof t!="object"?null:{essential:!0,analytics:t.analytics===!0,functional:t.functional===!0,marketing:t.marketing===!0,timestamp:t.timestamp??null}}catch{return null}}function Qe(e){if(e.length===0)return null;let t=e.map(o=>typeof o.timestamp=="string"?Date.parse(o.timestamp):Number.NaN);if(t.some(Number.isNaN))return e.at(-1);let n=0;for(let o=1;o<e.length;o++)t[o]>=t[n]&&(n=o);return e[n]}function me(e){let t=typeof e.timestamp=="string"?Date.parse(e.timestamp):Number.NaN,n=(Number.isNaN(t)?Date.now():t)+a.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";a.cookieDomain&&ae(`${A}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=a.cookieDomain?`;domain=${a.cookieDomain}`:"";ae(`${A}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function ae(e){document.cookie=e}var R="webority_attribution",Xe=2160*60*60*1e3,Je=200,G=500,Ze=Object.freeze({utm_source:"utmSource",utm_medium:"utmMedium",utm_campaign:"utmCampaign",utm_content:"utmContent",utm_term:"utmTerm",gclid:"gclid",gbraid:"gbraid",wbraid:"wbraid",fbclid:"fbclid",msclkid:"msclkid",li_fat_id:"liFatId"}),ge=!1;function et(){ye("captureAttribution"),rt();let e=nt();if(!e)return;let t=K(H());Ee(H(),{firstTouch:t?.firstTouch??e,lastTouch:e}),tt(e)}function tt(e){let t={event:"acquisition_touch",acquisition_channel:w(e)};e.aiSource&&(t.ai_source=e.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(t)}function q(){return ye("getAttribution"),K(H())}function nt(){let e=new URLSearchParams(window.location.search),t={};for(let[r,c]of Object.entries(Ze)){let s=b(e.get(r),Je);s&&(t[c]=s)}let n=b(e.get("referrer"),G)||ot();if(n&&(t.referrer=n),Object.keys(t).length===0)return null;let o=x(t);return o&&(t.aiSource=o),t.landingPage=b(window.location.pathname,G),t.capturedDateTimeUtc=new Date().toISOString(),t}function ot(){let e=document.referrer;if(!e)return"";try{return new URL(e).hostname===window.location.hostname?"":b(e,G)}catch{return""}}function rt(){ge||(ge=!0,y(e=>{let t=e.marketing?z():B(),n=e.marketing?B():z(),o=K(t);it(t),o&&Ee(n,o)}))}function H(){return d().marketing?B():z()}function B(){try{return window.localStorage}catch{return null}}function z(){try{return window.sessionStorage}catch{return null}}function K(e){try{let t=e?.getItem(R);if(!t)return null;let n=JSON.parse(t),o=_e(n?.firstTouch),r=_e(n?.lastTouch);return!o&&!r?(e.removeItem(R),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function Ee(e,t){try{e?.setItem(R,JSON.stringify(t))}catch{}}function it(e){try{e?.removeItem(R)}catch{}}function _e(e){if(!e||typeof e!="object")return null;let t=Date.parse(e.capturedDateTimeUtc);return Number.isFinite(t)&&Date.now()-t<=Xe?e:null}function b(e,t){let n=String(e??"").trim();return n?n.slice(0,t):""}function ye(e){if(!E())throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function Ce(e,t){return import("./web-vitals-RMISAXOY.js").then(n=>n.startWebVitals(e,t)).catch(()=>{})}var at=["scroll","mousemove","touchstart","keydown","pointerdown"];function N(e){let t=!1,n=()=>{t||(t=!0,e())};for(let o of at)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,1500):window.addEventListener("load",()=>setTimeout(n,1500),{once:!0})}var i=Object.freeze({SIGNUP_STARTED:"signup_started",SIGNUP_COMPLETED:"signup_completed",LOGIN_SUCCEEDED:"login_succeeded",ONBOARDING_STARTED:"onboarding_started",ONBOARDING_STEP_COMPLETED:"onboarding_step_completed",ONBOARDING_COMPLETED:"onboarding_completed",SUBSCRIPTION_ACTIVATED:"subscription_activated",SUBSCRIPTION_CANCELLED:"subscription_cancelled",PAYMENT_SUCCEEDED:"payment_succeeded",PAYMENT_FAILED:"payment_failed",FEEDBACK_SUBMITTED:"feedback_submitted",LEAD_SUBMITTED:"lead_submitted",LEAD_QUALIFIED:"lead_qualified",LEAD_WON:"lead_won",WHATSAPP_CLICK:"whatsapp_click",CALCULATOR_USE:"calculator_use",PHONE_CLICK:"phone_click",DEMO_BOOKED:"demo_booked",CONTACT_SUBMITTED:"contact_submitted",TRIAL_START_CLICK:"trial_start_click",SAMPLE_REPORT_DOWNLOAD:"sample_report_download",REPORT_VERIFIED:"report_verified",CONTENT_ENGAGED:"content_engaged",EMAIL_CLICK:"email_click",PAGE_NOT_FOUND:"page_not_found",CHAT_OPENED:"chat_opened",CHAT_STARTED:"chat_started",CHAT_INPUT_SUBMITTED:"chat_input_submitted",CHAT_HANDOFF_REQUESTED:"chat_handoff_requested",CHAT_RATED:"chat_rated",CHAT_ACTION_REPEATED:"chat_action_repeated",TOUR_STARTED:"tour_started",TOUR_STEP_VIEWED:"tour_step_viewed",TOUR_COMPLETED:"tour_completed",TOUR_SKIPPED:"tour_skipped"}),Ht=Object.freeze({signupStarted:i.SIGNUP_STARTED,signupCompleted:i.SIGNUP_COMPLETED,loginSucceeded:i.LOGIN_SUCCEEDED,onboardingStarted:i.ONBOARDING_STARTED,onboardingStepCompleted:i.ONBOARDING_STEP_COMPLETED,onboardingCompleted:i.ONBOARDING_COMPLETED,subscriptionActivated:i.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:i.SUBSCRIPTION_CANCELLED,paymentSucceeded:i.PAYMENT_SUCCEEDED,paymentFailed:i.PAYMENT_FAILED,feedbackSubmitted:i.FEEDBACK_SUBMITTED,leadSubmitted:i.LEAD_SUBMITTED,leadQualified:i.LEAD_QUALIFIED,leadWon:i.LEAD_WON,whatsappClick:i.WHATSAPP_CLICK,calculatorUse:i.CALCULATOR_USE,phoneClick:i.PHONE_CLICK,demoBooked:i.DEMO_BOOKED,contactSubmitted:i.CONTACT_SUBMITTED,trialStartClick:i.TRIAL_START_CLICK,sampleReportDownload:i.SAMPLE_REPORT_DOWNLOAD,reportVerified:i.REPORT_VERIFIED,contentEngaged:i.CONTENT_ENGAGED,emailClick:i.EMAIL_CLICK,pageNotFound:i.PAGE_NOT_FOUND,chatOpened:i.CHAT_OPENED,chatStarted:i.CHAT_STARTED,chatInputSubmitted:i.CHAT_INPUT_SUBMITTED,chatHandoffRequested:i.CHAT_HANDOFF_REQUESTED,chatRated:i.CHAT_RATED,chatActionRepeated:i.CHAT_ACTION_REPEATED,tourStarted:i.TOUR_STARTED,tourStepViewed:i.TOUR_STEP_VIEWED,tourCompleted:i.TOUR_COMPLETED,tourSkipped:i.TOUR_SKIPPED}),Te=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;function Se(){let e=new Set(Object.values(i));return{register(t){for(let n of t){if(!Te.test(n))throw new Error(`@webority/analytics: invalid event name "${n}". Expected snake_case.`);e.add(n)}},assertRegistered(t){if(!e.has(t))throw new Error(`@webority/analytics: event "${t}" is not registered. Call registerEvents() first.`)}}}var V=Se(),u={config:null,posthogInstance:null,posthogInitPromise:null,pendingIdentify:null};function jt(e){u.config=e,u.posthogInstance=null,u.posthogInitPromise=null,u.pendingIdentify=null}function st(){let e=u.config;return e?!!(e.enabled&&e.clientKey&&e.environment!=="Local"):!1}function D(){return E()&&d().analytics}function he(){return st()&&D()}var L=new Set,Ie=new WeakSet,we=null;function Qt(e){let t=j();if(!t)return!1;try{return t.isFeatureEnabled(e)===!0}catch(n){return be(`feature flag "${e}" could not be read, so it reads as off`,n),k(n),!1}}function Xt(e){let t=j();if(!t)return null;try{return t.getFeatureFlag(e)??null}catch(n){return be(`feature flag "${e}" could not be read, so it reads as null`,n),k(n),null}}function Jt(e){L.add(e);let t=j();return(!t||we===t)&&queueMicrotask(()=>{L.has(e)&&Ae(e)}),()=>L.delete(e)}function Oe(e){u.config?.featureFlags!==!0||Ie.has(e)||typeof e.onFeatureFlags!="function"||(Ie.add(e),e.onFeatureFlags(()=>{we=e;for(let t of[...L])Ae(t)}))}function j(){return u.config?.featureFlags!==!0||!he()?null:u.posthogInstance??null}function Ae(e){try{e()}catch(t){k(t)}}function be(e,t){let n=u.config?.logger,o=typeof n?.warn=="function"?n.warn:n?.info;if(typeof o=="function")try{o.call(n,`@webority/analytics: ${e}: ${t?.message??t}`)}catch(r){k(r)}}function k(e){queueMicrotask(()=>{throw e})}var ct=new Set(["token","code","email","access_token","id_token","state","session_state","password","search","q","query"]),ut=/(?:access_token|id_token|session_state|token|code|state|email|password)=/i,lt=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"],dt=4,ft=5,pt=6;function h(e){if(typeof e!="string")return e;let t=e.indexOf("#"),n=t===-1?e:e.slice(0,t),o=t===-1||ut.test(e.slice(t))?"":e.slice(t),r=n.indexOf("?");if(r===-1)return n+o;let c=n.slice(r+1).split("&"),s=c.filter(_=>!ct.has(Et(_))).map(_t);if(s.length===c.length&&s.every((_,I)=>_===c[I]))return n+o;let p=n.slice(0,r),T=s.filter(_=>_!=="").join("&");return(T?`${p}?${T}`:p)+o}function Re(e){if(!e||typeof e!="object")return e;let t=e.properties;for(let r of[t,e.$set,e.$set_once,t?.$set,t?.$set_once])gt(r);let n=t?.$heatmap_data;if(n&&typeof n=="object"){let r={};for(let[c,s]of Object.entries(n)){let p=h(c);r[p]=r[p]?r[p].concat(s):s}t.$heatmap_data=r}if(t&&typeof t=="object"){for(let[r,c]of Object.entries(t))if(r.startsWith("$web_vitals_")&&r.endsWith("_event")&&c&&typeof c=="object")for(let s of["$current_url","navigationURL"])typeof c[s]=="string"&&(c[s]=h(c[s]))}let o=t?.$snapshot_data;if(e.event==="$snapshot"&&o&&typeof o=="object")for(let r of Array.isArray(o)?o:[o])mt(r);return e}function mt(e){let t=e?.data;if(!(!t||typeof t!="object")){if(e.type===dt)v(t,["href"]);else if(e.type===ft)v(t.payload,["href"]);else if(e.type===pt&&Array.isArray(t.payload?.requests))for(let n of t.payload.requests)v(n,["name","url"])}}function v(e,t){if(!(!e||typeof e!="object"))for(let n of t)typeof e[n]=="string"&&(e[n]=h(e[n]))}function gt(e){v(e,lt)}function _t(e){let t=e.indexOf("=");if(t===-1)return e;let n=e.slice(t+1).replace(/\+/g," "),o;try{o=decodeURIComponent(n)}catch{o=Ne(n)}if(!o.startsWith("/")&&!/^https?:\/\//i.test(o))return e;let r=h(o);return r===o?e:`${e.slice(0,t)}=${encodeURIComponent(r)}`}function Et(e){let t=e.replace(/\+/g," "),n;try{n=decodeURIComponent(t)}catch{n=Ne(t)}return n.split("=",1)[0].toLowerCase()}function Ne(e){return e.replace(/%([0-9a-f]{2})/gi,(t,n)=>{let o=Number.parseInt(n,16);return o<128?String.fromCharCode(o):t})}async function rn(){if(u.posthogInstance)return u.posthogInstance;if(u.posthogInitPromise)return u.posthogInitPromise;let e=u.config;return u.posthogInitPromise=import("posthog-js").then(t=>{let n=t.default??t,o=W(Y(e),D(),e.featureFlags===!0);return n.init(e.clientKey,o),n.register({product:e.product,surface:e.surface,environment:e.environment}),D()?n.opt_in_capturing({captureEventName:!1}):n.opt_out_capturing(),u.posthogInstance=n,Oe(n),n}).catch(t=>{throw u.posthogInitPromise=null,t}),u.posthogInitPromise}function W(e,t,n=!1){return t?e:{...e,opt_out_capturing_by_default:!0,...n?{advanced_disable_feature_flags_on_first_load:!0}:{}}}function Y(e){let t=e.sessionRecording??{enabled:!1},n={api_host:e.host,autocapture:!1,capture_pageview:"history_change",cookieless_mode:"on_reject",person_profiles:"identified_only",persistence:"localStorage+cookie",cross_subdomain_cookie:!0,disable_session_recording:!t.enabled,enable_heatmaps:e.heatmaps===!0,capture_exceptions:e.captureExceptions===!0,capture_performance:{web_vitals:!1},disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!(t.enabled||e.featureFlags===!0),before_send:Re};return t.enabled&&(n.session_recording={maskAllInputs:t.maskAllInputs??!0,...t.maskTextSelector?{maskTextSelector:t.maskTextSelector}:{},maskCapturedNetworkRequestFn:o=>({...o,name:h(o.name)}),recordBody:!1,recordHeaders:!1}),n}var yt=()=>import("posthog-js"),Ct=100,l={config:null,posthog:null,pending:[],failed:!1,loadPosthog:yt,startVitals:Ce,stopFollowingConsent:null};function Tt({host:e,clientKey:t,product:n,surface:o,environment:r,enabled:c=!0,sessionRecording:s,heatmaps:p=!1,captureExceptions:T=!1,webVitals:_=!1}={}){if(!E())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");let I=ee(_);!c||!e||!t||r==="Local"||l.config||(l.config={host:e,clientKey:t,product:n,surface:o,environment:r,sessionRecording:s,heatmaps:p,captureExceptions:T,webVitals:I},l.stopFollowingConsent=y(C=>ht(C.analytics)),N(()=>{Promise.resolve().then(l.loadPosthog).then(C=>St(C.default??C)).catch(()=>{l.failed=!0,l.pending=[]})}))}function St(e){let t=l.config,n=d().analytics;e.init(t.clientKey,W(It(t),n)),e.register({product:t.product,surface:t.surface,environment:t.environment}),n?e.opt_in_capturing({captureEventName:!1}):e.opt_out_capturing(),l.posthog=e;let o=l.pending;l.pending=[];for(let[r,c]of o)Q(e,r,c);t.webVitals&&l.startVitals(t.webVitals,(r,c)=>Q(e,r,c))}function ht(e){l.posthog&&(e?l.posthog.opt_in_capturing():l.posthog.opt_out_capturing())}function It(e){return{...Y({host:e.host,sessionRecording:e.sessionRecording,heatmaps:e.heatmaps,captureExceptions:e.captureExceptions,webVitals:e.webVitals}),capture_pageview:!0}}function De(e,t){let n=l.config;if(!n)return;let o={...t,product:n.product,surface:n.surface,environment:n.environment};l.posthog?Q(l.posthog,e,o):!l.failed&&l.pending.length<Ct&&l.pending.push([e,o])}function Q(e,t,n){try{e.capture(t,n)}catch{}}function wt(e,t={}){V.assertRegistered(e);let n=d().analytics,o=q(),r={...t};for(let[c,s]of[["first",o?.firstTouch],["last",o?.lastTouch]])s&&(r[`${c}_touch_channel`]=w(s),s.aiSource&&(r[`${c}_touch_ai_source`]=s.aiSource));return De(e,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:e}),!0):!1}function Ot(e){V.register(e)}var At="https://www.googletagmanager.com/gtm.js",bt=3e3,Rt=100,g={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function Nt(e={}){if(!E())throw new Error("@webority/analytics: call initConsent before loadTags.");if(g.loaded)return;g.loaded=!0;let{gtmId:t,gtmUrl:n=At,clarityId:o,ahrefsKey:r}=e;if(typeof n!="string"||n.trim()==="")throw new Error("@webority/analytics: gtmUrl must be a non-empty string.");let c=le();if(r){let s=()=>J("https://analytics.ahrefs.com/analytics.js",{"data-key":r});c?Le(p=>p.analytics,s):s()}if(t){let s=P(),p=Z=>Z.analytics||Z.marketing&&s,T=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),J(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},_=d(),I=_.decided&&p(_)?Dt:N,C=()=>I(T);c?Le(p,C):C()}o&&(g.clarityId=o,d().analytics&&Lt(),y(s=>{s.analytics&&!g.clarityLoaded?X():g.clarityLoaded&&ke(s)}))}function Le(e,t){if(e(d())){t();return}let n=y(o=>{e(o)&&(n(),t())})}function Dt(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function Lt(){let e=()=>{window.scrollY>Rt&&X()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(X,bt);g.cancelClaritySchedule=()=>{window.removeEventListener("scroll",e),clearTimeout(t)}}function X(){g.cancelClaritySchedule?.(),g.cancelClaritySchedule=null,!(g.clarityLoaded||!g.clarityId)&&(g.clarityLoaded=!0,window.clarity=window.clarity||function(){window.clarity.q=window.clarity.q||[],window.clarity.q.push(arguments)},ke(d()),J(`https://www.clarity.ms/tag/${encodeURIComponent(g.clarityId)}`,{crossorigin:"anonymous"}))}function ke(e){window.clarity("consentv2",{ad_Storage:e.marketing&&P()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function J(e,t={}){let n=document.createElement("script");n.async=!0,n.src=e;for(let[o,r]of Object.entries(t))n.setAttribute(o,r);document.head.appendChild(n)}export{He as a,A as b,se as c,Be as d,ze as e,E as f,d as g,qe as h,y as i,i as j,Ht as k,V as l,u as m,jt as n,st as o,D as p,Qt as q,Xt as r,Jt as s,rn as t,f as u,w as v,x as w,et as x,q as y,Tt as z,wt as A,Ot as B,Nt as C};
|
package/dist/chunk-TPTUIQE4.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var p={sampleRate:1,softNavigations:!0,deployVersion:null,pageTemplate:null};function w(e){if(e==null||e===!1)return null;if(e===!0)return{...p};if(typeof e!="object")throw new Error("@webority/analytics: webVitals takes true or { sampleRate, softNavigations, deployVersion, pageTemplate }.");let t=e.sampleRate??p.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 a=e.deployVersion??null;if(a!==null&&typeof a!="string")throw new Error("@webority/analytics: webVitals.deployVersion must be a string.");let l=e.pageTemplate??null;if(l!==null&&(typeof l!="string"||l.length>120))throw new Error("@webority/analytics: webVitals.pageTemplate must be a string of at most 120 characters.");return{sampleRate:t,softNavigations:e.softNavigations!==!1,deployVersion:a,pageTemplate:l}}function y(e,t){return t<e}function g({mobileHint:e,screenWidth:t}){return e===!0?"mobile":typeof t!="number"||t<=0?"unknown":t<768?"mobile":t<1024?"tablet":"desktop"}function m(e,t){if(typeof e!="string"||!e)return null;try{return new URL(e,t).pathname}catch{return null}}function u(e){return typeof e=="string"&&e?e.split(/[?#]/,1)[0]:null}var o=e=>typeof e=="number"&&Number.isFinite(e)?Math.round(e):null,c=(e,t)=>typeof e=="string"&&e?e.slice(0,t):null;function f(e){return typeof e?.transferSize!="number"||typeof e?.decodedBodySize!="number"?null:e.transferSize===0&&e.decodedBodySize>0?!0:e.transferSize>0?!1:null}function b(e){return{url:c(u(e.sourceURL),200),function:c(e.sourceFunctionName,80),invoker_type:e.invokerType??null,duration_ms:o(e.duration),forced_style_layout_ms:o(e.forcedStyleAndLayoutDuration)}}function h(e){let t=(e?.longAnimationFrameEntries??[]).flatMap(a=>a.scripts??[]);return t.length===0&&(t=[e?.longestScript?.entry].filter(Boolean)),t.length===0?null:(t.sort((a,l)=>(l.duration??0)-(a.duration??0)),t.slice(0,3).map(b))}function v(e,t){let a=e.name,l=a==="CLS"?Math.round(e.value*1e4)/1e4:o(e.value),r={[`$web_vitals_${a}_value`]:l,vital:a,value:l,rating:e.rating,metric_id:e.id,navigation_type:e.navigationType??null,path:m(e.navigationURL??t.pageUrl,t.pageUrl),deploy_version:t.deployVersion??null,device_class:t.deviceClass,page_template:e.navigationType==="soft-navigation"?null:t.pageTemplate??null},n=e.attribution??{};return a==="INP"&&(r.inp_target=n.interactionTarget||null,r.inp_longest_script_url=u(n.longestScript?.entry?.sourceURL),r.inp_input_delay_ms=o(n.inputDelay),r.inp_processing_ms=o(n.processingDuration),r.inp_presentation_delay_ms=o(n.presentationDelay),r.inp_interaction_type=n.interactionType??null,r.inp_load_state=n.loadState??null,r.inp_scripts=h(n)),a==="LCP"&&(r.lcp_ttfb_ms=o(n.timeToFirstByte),r.lcp_resource_load_delay_ms=o(n.resourceLoadDelay),r.lcp_resource_load_duration_ms=o(n.resourceLoadDuration),r.lcp_element_render_delay_ms=o(n.elementRenderDelay),r.lcp_target=n.target??null,r.lcp_url=/^(?:data|blob):/.test(n.url??"")?"data:":u(n.url),r.lcp_element_tag=n.lcpEntry?.element?.tagName?.toLowerCase()??null,r.lcp_nav_cached=f(n.navigationEntry),r.lcp_resource_cached=f(n.lcpResourceEntry)),a==="CLS"&&(r.cls_target=n.largestShiftTarget??null,r.cls_largest_shift=Number.isFinite(n.largestShiftValue)?Math.round(n.largestShiftValue*1e4)/1e4:null,r.cls_largest_shift_time_ms=o(n.largestShiftTime),r.cls_load_state=n.loadState??null),r}var i={started:!1,send:null};function T(e,t,{load:a=()=>import("./web-vitals.attribution-NGD57Y3S.js"),roll:l=Math.random()}={}){if(i.send=t,i.started||(i.started=!0,!y(e.sampleRate,l)))return Promise.resolve();let r={deployVersion:e.deployVersion,pageTemplate:e.pageTemplate,deviceClass:g({mobileHint:globalThis.navigator?.userAgentData?.mobile,screenWidth:globalThis.screen?.width})},n=s=>{try{i.send?.("$web_vitals",v(s,{...r,pageUrl:globalThis.location?.href}))}catch{}},d={reportSoftNavs:e.softNavigations};return Promise.resolve().then(a).then(s=>{for(let _ of[s.onLCP,s.onINP,s.onCLS,s.onFCP,s.onTTFB])_(n,d)}).catch(()=>{})}function S(){i.started=!1,i.send=null}export{w as a,y as b,g as c,f as d,h as e,v as f,T as g,S as h};
|