flowsery 1.0.4 → 1.0.6
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/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/main.hash.js +1 -1
- package/dist/main.js +1 -1
- package/dist/script.hash.js +1 -1
- package/dist/script.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var h=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(o)=>{let n=Math.random()*16|0;return(o==="x"?n:n&3|8).toString(16)})},D=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var s=()=>{return window.__flowsery_config||null},i=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let o=s();if(o)return o.websiteId;return i()?.getAttribute("data-fl-website-id")||""},E=()=>{return s()?.apiUrl??null},d=()=>{let o=s();if(o?.apiBase)return o.apiBase;let n=i();return n?.getAttribute("data-api")||n?.src?.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"")||""},R=()=>{return"https://analytics.flowsery.com/analytics"},G=()=>{let o=s();if(o?.domain)return o.domain;return i()?.getAttribute("data-domain")||location.hostname},F=()=>{let o=s();if(o)return!!o.cookieless;return i()?.hasAttribute("data-cookieless")??!1},Qo=new Set(["localhost","127.0.0.1","[::1]"]),O=()=>{return Qo.has(location.hostname)||location.hostname.endsWith(".local")},T=()=>{let o=s();if(o)return!!o.local;return i()?.hasAttribute("data-local")??!1},_=()=>{return location.protocol==="file:"},S=()=>{let o=s();if(o)return!!o.allowFileProtocol;return i()?.hasAttribute("data-allow-file-protocol")??!1},a=()=>{try{return window.self!==window.top}catch{return!0}},oo=()=>{let o=s();if(o)return!!o.allowIframe;return i()?.hasAttribute("data-allow-iframe")??!1};var M=()=>{let o=s();if(o)return!!o.hashMode;return i()?.src?.includes(".hash.js")??!1},no=()=>{let o=s();if(o?.allowedHostnames)return o.allowedHostnames;let t=i()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},to=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},co=()=>{let o=new URLSearchParams(window.location.search),n={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=o.get(t);if(c)n[t]=c}return n};var l=(o,n)=>{let t=E()??`${d()}/api/track`,c=m(),r=JSON.stringify({...n,websiteId:c,type:o});if(typeof navigator.sendBeacon==="function"){let f=new Blob([r],{type:"application/json"});if(navigator.sendBeacon(t,f))return}fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0}).catch(()=>{})};var W="_fs_vid",$="_fs_sid",B="_fs_sts",Zo=1800000,U="_fs_vid",V="_fs_sid",qo=(o)=>{let n=document.cookie.match(new RegExp(`(?:^|; )${o}=([^;]*)`));return n?decodeURIComponent(n[1]):null},ro=(o,n,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=G(),f=r?`;domain=.${r}`:"";document.cookie=`${o}=${encodeURIComponent(n)};expires=${c};path=/${f};SameSite=Lax;Secure`},Xo=(o)=>{let n=G(),t=n?`;domain=.${n}`:"";document.cookie=`${o}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},Ho=()=>{let o=new URLSearchParams(window.location.search),n=o.get(U)||void 0,t=o.get(V)||void 0;if(n||t){o.delete(U),o.delete(V);let c=o.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:n,sid:t}},g=null,fo=()=>{if(g===null)g=Ho();return g},x=()=>{if(F())return;let o=fo();if(o.vid){ro(W,o.vid,730);let t=o.vid;return o.vid=void 0,t}let n=qo(W);if(!n)n=h(),ro(W,n,730);return n},u=()=>{if(F())return;let o=fo();if(o.sid){let r=o.sid;return sessionStorage.setItem($,r),sessionStorage.setItem(B,Date.now().toString()),o.sid=void 0,r}let n=Date.now(),t=parseInt(sessionStorage.getItem(B)||"0",10),c=sessionStorage.getItem($);if(!c||n-t>Zo)c=h(),sessionStorage.setItem($,c);return sessionStorage.setItem(B,n.toString()),c},xo=()=>{if(F())return;sessionStorage.setItem(B,Date.now().toString())},J=()=>{let o=x(),n=u();return{...o&&{_fs_vid:o},...n&&{_fs_sid:n}}},j=(o)=>{let n=J(),t=new URL(o);if(n._fs_vid)t.searchParams.set(U,n._fs_vid);if(n._fs_sid)t.searchParams.set(V,n._fs_sid);return t.toString()},Y=()=>{Xo(W),sessionStorage.removeItem($),sessionStorage.removeItem(B),g=null};var ho=5000,N=0,Q=0,Z=null,Go=()=>{let o=document.documentElement,n=window.scrollY||o.scrollTop,t=o.scrollHeight-o.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(n/t*100))},K=()=>{N++},uo=()=>{let o=Go();Q=Math.max(Q,o);let n=x(),t=u();l("heartbeat",{...n&&{visitorUid:n},...t&&{sessionUid:t},path:location.pathname+location.search,scrollDepth:Q,isVisible:document.visibilityState==="visible",interactionCount:N}),xo()},lo=()=>{N=0,Q=0},eo=()=>{document.addEventListener("click",K,{passive:!0}),document.addEventListener("scroll",K,{passive:!0}),document.addEventListener("keydown",K,{passive:!0}),Z=setInterval(uo,ho),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")uo()})},P=()=>{if(Z)clearInterval(Z),Z=null};var so="",io=!1,b=()=>{let o=M(),n=o?location.href:location.pathname+location.search;if(n===so)return;so=n,lo();let t=co(),c=x(),r=u(),f=o?location.pathname+location.search+location.hash:location.pathname+location.search;if(l("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!io){io=!0;let w=R();if(w){let y=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${w}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:y,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},po=()=>{b();let{pushState:o,replaceState:n}=history;if(history.pushState=function(...t){o.apply(this,t),b()},history.replaceState=function(...t){n.apply(this,t),b()},window.addEventListener("popstate",()=>b()),M())window.addEventListener("hashchange",()=>b())};var bo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=x(),f=u();if(!r||!f)return;l("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var Mo=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,wo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t||!Mo.test(t))return;let c=x(),r=u();l("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var p=(o,n)=>{let t=x(),c=u();l("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:o,metadata:n})};var v="data-fs-goal",yo="data-fs-goal-",Uo=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(yo)&&c.name!==v){let r=c.name.slice(yo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},mo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest(`[${v}]`);if(!n)return;let t=n.getAttribute(v);if(!t)return;let c=Uo(n);p(t,c)})};var q="data-fs-scroll",zo="data-fs-scroll-threshold",L="data-fs-scroll-delay",Bo="data-fs-scroll-",Vo=new Set([q,zo,L]),jo=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(Bo)&&!Vo.has(c.name)){let r=c.name.slice(Bo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},Fo=()=>{let o=document.querySelectorAll(`[${q}]`);if(!o.length)return;let n=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||n.has(f))continue;let w=f.getAttribute(q);if(!w)continue;let y=parseInt(f.getAttribute(L)||"0",10)||0,e=()=>{if(n.has(f))return;n.add(f),t.unobserve(f);let z=jo(f);p(w,z)};if(y>0)setTimeout(e,y);else e()}},{threshold:0});for(let c of Array.from(o)){let r=parseFloat(c.getAttribute(zo)||"0.5");if(r!==0.5){let f=new IntersectionObserver((w)=>{for(let y of w){let e=y.target;if(!y.isIntersecting||n.has(e))continue;let z=e.getAttribute(q);if(!z)continue;let C=parseInt(e.getAttribute(L)||"0",10)||0,A=()=>{if(n.has(e))return;n.add(e),f.unobserve(e);let Jo=jo(e);p(z,Jo)};if(C>0)setTimeout(A,C);else A()}},{threshold:r});f.observe(c)}else t.observe(c)}};var k=null,Wo=()=>{if(!k)k=new Set(no());return k},Yo=(o)=>{let n=Wo();if(!n.size)return!1;for(let t of n)if(o===t||o.endsWith(`.${t}`))return!0;return!1},$o=()=>{if(!Wo().size)return;document.addEventListener("click",(n)=>{let t=n.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Yo(r.hostname))return;t.href=j(c)}catch{}})};var X=(o)=>{let n=x(),t=u();l("payment",{...n&&{visitorUid:n},...t&&{sessionUid:t},...o.amount!=null&&{amount:o.amount},...o.currency&&{currency:o.currency},...o.transactionId&&{transactionId:o.transactionId},...o.email&&{email:o.email},...o.name&&{name:o.name},...o.customerId&&{customerId:o.customerId},...o.isRenewal!=null&&{isRenewal:o.isRenewal},...o.isRefund!=null&&{isRefund:o.isRefund}})};var H=(o)=>{let n=x();l("identify",{...n&&{visitorUid:n},userId:o.userId,name:o.name,email:o.email,image:o.image,profileData:o.profileData})};var go=(o)=>{let[n,...t]=o;switch(n){case"identify":H(t[0]);break;case"payment":X(t[0]);break;default:p(n,t[0]);break}},I=()=>{if(D())return;if(!m())return;if(to())return;if(O()&&!T())return;if(_()&&!S())return;if(a()&&!oo())return;po(),eo(),bo(),wo(),mo(),Fo(),$o();let o=window,n=o.flowsery?.q||[];for(let t of n)go(t);o.flowsery=function(...t){go(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",I);else I();var Gn=async(o)=>{let n=window;return n.__flowsery_config=o,I(),{trackEvent:p,trackPayment:X,trackPageview:b,identify:H,stop:P,reset:Y,getTrackingParams:J,buildCrossDomainUrl:j,getVisitorId:x,getSessionId:u}};export{X as trackPayment,b as trackPageview,p as trackEvent,P as stopHeartbeat,Y as reset,Gn as initFlowsery,H as identify,x as getVisitorId,J as getTrackingParams,u as getSessionId,j as buildCrossDomainUrl};
|
|
1
|
+
var M=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(n)=>{let o=Math.random()*16|0;return(n==="x"?o:o&3|8).toString(16)})},E=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var p=()=>{return window.__flowsery_config||null},w=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let n=p();if(n)return n.websiteId;return w()?.getAttribute("data-fl-website-id")||""},R=()=>{return p()?.apiUrl??null},d=()=>{let n=p();if(n?.apiBase)return n.apiBase;let o=w(),t=o?.getAttribute("data-api");if(t)return t;let c=o?.src??"",r=c.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"");return r===c?"":r},F=()=>{return"https://analytics.flowsery.com/analytics"},V=()=>{let n=p();if(n?.domain)return n.domain;return w()?.getAttribute("data-domain")||location.hostname},W=()=>{let n=p();if(n)return!!n.cookieless;return w()?.hasAttribute("data-cookieless")??!1},qn=new Set(["localhost","127.0.0.1","[::1]"]),O=()=>{return qn.has(location.hostname)||location.hostname.endsWith(".local")},T=()=>{let n=p();if(n)return!!n.local;return w()?.hasAttribute("data-local")??!1},_=()=>{return location.protocol==="file:"},S=()=>{let n=p();if(n)return!!n.allowFileProtocol;return w()?.hasAttribute("data-allow-file-protocol")??!1},a=()=>{try{return window.self!==window.top}catch{return!0}},nn=()=>{let n=p();if(n)return!!n.allowIframe;return w()?.hasAttribute("data-allow-iframe")??!1};var U=()=>{let n=p();if(n)return!!n.hashMode;return w()?.src?.includes(".hash.js")??!1},on=()=>{let n=p();if(n?.allowedHostnames)return n.allowedHostnames;let t=w()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},tn=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},cn=()=>{let n=new URLSearchParams(window.location.search),o={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=n.get(t);if(c)o[t]=c}return o};var rn=R(),s=(n,o)=>{let t=d(),c=!!t,r=rn??(c?`${t}/api/track`:`${F()}/events`),f=m(),e=JSON.stringify({...o,websiteId:f,type:n});if(rn||!c){try{let l=new XMLHttpRequest;l.open("POST",r,!0),l.setRequestHeader("Content-Type","application/json"),l.send(e)}catch(l){}return}if(typeof navigator.sendBeacon==="function"){let l=new Blob([e],{type:"application/json"});if(navigator.sendBeacon(r,l))return}fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:e,keepalive:!0}).catch(()=>{})};var $="_fs_vid",J="_fs_sid",B="_fs_sts",Xn=1800000,h="_fs_vid",Y="_fs_sid",Gn=(n)=>{let o=document.cookie.match(new RegExp(`(?:^|; )${n}=([^;]*)`));return o?decodeURIComponent(o[1]):null},fn=(n,o,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=V(),f=r?`;domain=.${r}`:"";document.cookie=`${n}=${encodeURIComponent(o)};expires=${c};path=/${f};SameSite=Lax;Secure`},Hn=(n)=>{let o=V(),t=o?`;domain=.${o}`:"";document.cookie=`${n}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},Mn=()=>{let n=new URLSearchParams(window.location.search),o=n.get(h)||void 0,t=n.get(Y)||void 0;if(o||t){n.delete(h),n.delete(Y);let c=n.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:o,sid:t}},Q=null,un=()=>{if(Q===null)Q=Mn();return Q},u=()=>{if(W())return;let n=un();if(n.vid){fn($,n.vid,730);let t=n.vid;return n.vid=void 0,t}let o=Gn($);if(!o)o=M(),fn($,o,730);return o},x=()=>{if(W())return;let n=un();if(n.sid){let r=n.sid;return sessionStorage.setItem(J,r),sessionStorage.setItem(B,Date.now().toString()),n.sid=void 0,r}let o=Date.now(),t=parseInt(sessionStorage.getItem(B)||"0",10),c=sessionStorage.getItem(J);if(!c||o-t>Xn)c=M(),sessionStorage.setItem(J,c);return sessionStorage.setItem(B,o.toString()),c},xn=()=>{if(W())return;sessionStorage.setItem(B,Date.now().toString())},Z=()=>{let n=u(),o=x();return{...n&&{_fs_vid:n},...o&&{_fs_sid:o}}},j=(n)=>{let o=Z(),t=new URL(n);if(o._fs_vid)t.searchParams.set(h,o._fs_vid);if(o._fs_sid)t.searchParams.set(Y,o._fs_sid);return t.toString()},K=()=>{Hn($),sessionStorage.removeItem(J),sessionStorage.removeItem(B),Q=null};var Vn=5000,v=0,g=0,q=null,Un=()=>{let n=document.documentElement,o=window.scrollY||n.scrollTop,t=n.scrollHeight-n.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(o/t*100))},N=()=>{v++},ln=()=>{let n=Un();g=Math.max(g,n);let o=u(),t=x();s("heartbeat",{...o&&{visitorUid:o},...t&&{sessionUid:t},path:location.pathname,scrollDepth:g,isVisible:document.visibilityState==="visible",interactionCount:v}),xn()},sn=()=>{v=0,g=0},en=()=>{document.addEventListener("click",N,{passive:!0}),document.addEventListener("scroll",N,{passive:!0}),document.addEventListener("keydown",N,{passive:!0}),q=setInterval(ln,Vn),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")ln()})},L=()=>{if(q)clearInterval(q),q=null};var pn="",wn=!1,y=()=>{let n=U(),o=n?location.href:location.pathname+location.search;if(o===pn)return;pn=o,sn();let t=cn(),c=u(),r=x(),f=n?location.pathname+location.hash:location.pathname;if(s("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!wn){wn=!0;let e=F();if(e){let l=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${e}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:l,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},bn=()=>{y();let{pushState:n,replaceState:o}=history;if(history.pushState=function(...t){n.apply(this,t),y()},history.replaceState=function(...t){o.apply(this,t),y()},window.addEventListener("popstate",()=>y()),U())window.addEventListener("hashchange",()=>y())};var yn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=u(),f=x();if(!r||!f)return;s("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var hn=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,mn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t||!hn.test(t))return;let c=u(),r=x();s("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var b=(n,o)=>{let t=u(),c=x();s("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:n,metadata:o})};var P="data-fs-goal",Bn="data-fs-goal-",Yn=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(Bn)&&c.name!==P){let r=c.name.slice(Bn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},jn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest(`[${P}]`);if(!o)return;let t=o.getAttribute(P);if(!t)return;let c=Yn(o);b(t,c)})};var X="data-fs-scroll",Wn="data-fs-scroll-threshold",k="data-fs-scroll-delay",zn="data-fs-scroll-",Kn=new Set([X,Wn,k]),Fn=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(zn)&&!Kn.has(c.name)){let r=c.name.slice(zn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},$n=()=>{let n=document.querySelectorAll(`[${X}]`);if(!n.length)return;let o=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||o.has(f))continue;let e=f.getAttribute(X);if(!e)continue;let l=parseInt(f.getAttribute(k)||"0",10)||0,i=()=>{if(o.has(f))return;o.add(f),t.unobserve(f);let z=Fn(f);b(e,z)};if(l>0)setTimeout(i,l);else i()}},{threshold:0});for(let c of Array.from(n)){let r=parseFloat(c.getAttribute(Wn)||"0.5");if(r!==0.5){let f=new IntersectionObserver((e)=>{for(let l of e){let i=l.target;if(!l.isIntersecting||o.has(i))continue;let z=i.getAttribute(X);if(!z)continue;let D=parseInt(i.getAttribute(k)||"0",10)||0,A=()=>{if(o.has(i))return;o.add(i),f.unobserve(i);let gn=Fn(i);b(z,gn)};if(D>0)setTimeout(A,D);else A()}},{threshold:r});f.observe(c)}else t.observe(c)}};var I=null,Jn=()=>{if(!I)I=new Set(on());return I},Nn=(n)=>{let o=Jn();if(!o.size)return!1;for(let t of o)if(n===t||n.endsWith(`.${t}`))return!0;return!1},Qn=()=>{if(!Jn().size)return;document.addEventListener("click",(o)=>{let t=o.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Nn(r.hostname))return;t.href=j(c)}catch{}})};var G=(n)=>{let o=u(),t=x();s("payment",{...o&&{visitorUid:o},...t&&{sessionUid:t},...n.amount!=null&&{amount:n.amount},...n.currency&&{currency:n.currency},...n.transactionId&&{transactionId:n.transactionId},...n.email&&{email:n.email},...n.name&&{name:n.name},...n.customerId&&{customerId:n.customerId},...n.isRenewal!=null&&{isRenewal:n.isRenewal},...n.isRefund!=null&&{isRefund:n.isRefund}})};var H=(n)=>{let o=u();s("identify",{...o&&{visitorUid:o},userId:n.userId,name:n.name,email:n.email,image:n.image,profileData:n.profileData})};var Zn=(n)=>{let[o,...t]=n;switch(o){case"identify":H(t[0]);break;case"payment":G(t[0]);break;default:b(o,t[0]);break}},C=()=>{if(E())return;if(!m())return;if(tn())return;if(O()&&!T())return;if(_()&&!S())return;if(a()&&!nn())return;bn(),en(),yn(),mn(),jn(),$n(),Qn();let n=window,o=n.flowsery?.q||[];for(let t of o)Zn(t);n.flowsery=function(...t){Zn(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",C);else C();var Mo=async(n)=>{let o=window;return o.__flowsery_config=n,C(),{trackEvent:b,trackPayment:G,trackPageview:y,identify:H,stop:L,reset:K,getTrackingParams:Z,buildCrossDomainUrl:j,getVisitorId:u,getSessionId:x}};export{G as trackPayment,y as trackPageview,b as trackEvent,L as stopHeartbeat,K as reset,Mo as initFlowsery,H as identify,u as getVisitorId,Z as getTrackingParams,x as getSessionId,j as buildCrossDomainUrl};
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var h=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(o)=>{let n=Math.random()*16|0;return(o==="x"?n:n&3|8).toString(16)})},D=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var s=()=>{return window.__flowsery_config||null},i=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let o=s();if(o)return o.websiteId;return i()?.getAttribute("data-fl-website-id")||""},E=()=>{return s()?.apiUrl??null},d=()=>{let o=s();if(o?.apiBase)return o.apiBase;let n=i();return n?.getAttribute("data-api")||n?.src?.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"")||""},R=()=>{return"https://analytics.flowsery.com/analytics"},G=()=>{let o=s();if(o?.domain)return o.domain;return i()?.getAttribute("data-domain")||location.hostname},F=()=>{let o=s();if(o)return!!o.cookieless;return i()?.hasAttribute("data-cookieless")??!1},Qo=new Set(["localhost","127.0.0.1","[::1]"]),O=()=>{return Qo.has(location.hostname)||location.hostname.endsWith(".local")},T=()=>{let o=s();if(o)return!!o.local;return i()?.hasAttribute("data-local")??!1},_=()=>{return location.protocol==="file:"},S=()=>{let o=s();if(o)return!!o.allowFileProtocol;return i()?.hasAttribute("data-allow-file-protocol")??!1},a=()=>{try{return window.self!==window.top}catch{return!0}},oo=()=>{let o=s();if(o)return!!o.allowIframe;return i()?.hasAttribute("data-allow-iframe")??!1};var M=()=>{let o=s();if(o)return!!o.hashMode;return i()?.src?.includes(".hash.js")??!1},no=()=>{let o=s();if(o?.allowedHostnames)return o.allowedHostnames;let t=i()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},to=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},co=()=>{let o=new URLSearchParams(window.location.search),n={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=o.get(t);if(c)n[t]=c}return n};var l=(o,n)=>{let t=E()??`${d()}/api/track`,c=m(),r=JSON.stringify({...n,websiteId:c,type:o});if(typeof navigator.sendBeacon==="function"){let f=new Blob([r],{type:"application/json"});if(navigator.sendBeacon(t,f))return}fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0}).catch(()=>{})};var W="_fs_vid",$="_fs_sid",B="_fs_sts",Zo=1800000,U="_fs_vid",V="_fs_sid",qo=(o)=>{let n=document.cookie.match(new RegExp(`(?:^|; )${o}=([^;]*)`));return n?decodeURIComponent(n[1]):null},ro=(o,n,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=G(),f=r?`;domain=.${r}`:"";document.cookie=`${o}=${encodeURIComponent(n)};expires=${c};path=/${f};SameSite=Lax;Secure`},Xo=(o)=>{let n=G(),t=n?`;domain=.${n}`:"";document.cookie=`${o}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},Ho=()=>{let o=new URLSearchParams(window.location.search),n=o.get(U)||void 0,t=o.get(V)||void 0;if(n||t){o.delete(U),o.delete(V);let c=o.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:n,sid:t}},g=null,fo=()=>{if(g===null)g=Ho();return g},x=()=>{if(F())return;let o=fo();if(o.vid){ro(W,o.vid,730);let t=o.vid;return o.vid=void 0,t}let n=qo(W);if(!n)n=h(),ro(W,n,730);return n},u=()=>{if(F())return;let o=fo();if(o.sid){let r=o.sid;return sessionStorage.setItem($,r),sessionStorage.setItem(B,Date.now().toString()),o.sid=void 0,r}let n=Date.now(),t=parseInt(sessionStorage.getItem(B)||"0",10),c=sessionStorage.getItem($);if(!c||n-t>Zo)c=h(),sessionStorage.setItem($,c);return sessionStorage.setItem(B,n.toString()),c},xo=()=>{if(F())return;sessionStorage.setItem(B,Date.now().toString())},J=()=>{let o=x(),n=u();return{...o&&{_fs_vid:o},...n&&{_fs_sid:n}}},j=(o)=>{let n=J(),t=new URL(o);if(n._fs_vid)t.searchParams.set(U,n._fs_vid);if(n._fs_sid)t.searchParams.set(V,n._fs_sid);return t.toString()},Y=()=>{Xo(W),sessionStorage.removeItem($),sessionStorage.removeItem(B),g=null};var ho=5000,N=0,Q=0,Z=null,Go=()=>{let o=document.documentElement,n=window.scrollY||o.scrollTop,t=o.scrollHeight-o.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(n/t*100))},K=()=>{N++},uo=()=>{let o=Go();Q=Math.max(Q,o);let n=x(),t=u();l("heartbeat",{...n&&{visitorUid:n},...t&&{sessionUid:t},path:location.pathname+location.search,scrollDepth:Q,isVisible:document.visibilityState==="visible",interactionCount:N}),xo()},lo=()=>{N=0,Q=0},eo=()=>{document.addEventListener("click",K,{passive:!0}),document.addEventListener("scroll",K,{passive:!0}),document.addEventListener("keydown",K,{passive:!0}),Z=setInterval(uo,ho),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")uo()})},P=()=>{if(Z)clearInterval(Z),Z=null};var so="",io=!1,b=()=>{let o=M(),n=o?location.href:location.pathname+location.search;if(n===so)return;so=n,lo();let t=co(),c=x(),r=u(),f=o?location.pathname+location.search+location.hash:location.pathname+location.search;if(l("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!io){io=!0;let w=R();if(w){let y=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${w}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:y,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},po=()=>{b();let{pushState:o,replaceState:n}=history;if(history.pushState=function(...t){o.apply(this,t),b()},history.replaceState=function(...t){n.apply(this,t),b()},window.addEventListener("popstate",()=>b()),M())window.addEventListener("hashchange",()=>b())};var bo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=x(),f=u();if(!r||!f)return;l("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var Mo=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,wo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t||!Mo.test(t))return;let c=x(),r=u();l("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var p=(o,n)=>{let t=x(),c=u();l("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:o,metadata:n})};var v="data-fs-goal",yo="data-fs-goal-",Uo=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(yo)&&c.name!==v){let r=c.name.slice(yo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},mo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest(`[${v}]`);if(!n)return;let t=n.getAttribute(v);if(!t)return;let c=Uo(n);p(t,c)})};var q="data-fs-scroll",zo="data-fs-scroll-threshold",L="data-fs-scroll-delay",Bo="data-fs-scroll-",Vo=new Set([q,zo,L]),jo=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(Bo)&&!Vo.has(c.name)){let r=c.name.slice(Bo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},Fo=()=>{let o=document.querySelectorAll(`[${q}]`);if(!o.length)return;let n=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||n.has(f))continue;let w=f.getAttribute(q);if(!w)continue;let y=parseInt(f.getAttribute(L)||"0",10)||0,e=()=>{if(n.has(f))return;n.add(f),t.unobserve(f);let z=jo(f);p(w,z)};if(y>0)setTimeout(e,y);else e()}},{threshold:0});for(let c of Array.from(o)){let r=parseFloat(c.getAttribute(zo)||"0.5");if(r!==0.5){let f=new IntersectionObserver((w)=>{for(let y of w){let e=y.target;if(!y.isIntersecting||n.has(e))continue;let z=e.getAttribute(q);if(!z)continue;let C=parseInt(e.getAttribute(L)||"0",10)||0,A=()=>{if(n.has(e))return;n.add(e),f.unobserve(e);let Jo=jo(e);p(z,Jo)};if(C>0)setTimeout(A,C);else A()}},{threshold:r});f.observe(c)}else t.observe(c)}};var k=null,Wo=()=>{if(!k)k=new Set(no());return k},Yo=(o)=>{let n=Wo();if(!n.size)return!1;for(let t of n)if(o===t||o.endsWith(`.${t}`))return!0;return!1},$o=()=>{if(!Wo().size)return;document.addEventListener("click",(n)=>{let t=n.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Yo(r.hostname))return;t.href=j(c)}catch{}})};var X=(o)=>{let n=x(),t=u();l("payment",{...n&&{visitorUid:n},...t&&{sessionUid:t},...o.amount!=null&&{amount:o.amount},...o.currency&&{currency:o.currency},...o.transactionId&&{transactionId:o.transactionId},...o.email&&{email:o.email},...o.name&&{name:o.name},...o.customerId&&{customerId:o.customerId},...o.isRenewal!=null&&{isRenewal:o.isRenewal},...o.isRefund!=null&&{isRefund:o.isRefund}})};var H=(o)=>{let n=x();l("identify",{...n&&{visitorUid:n},userId:o.userId,name:o.name,email:o.email,image:o.image,profileData:o.profileData})};var go=(o)=>{let[n,...t]=o;switch(n){case"identify":H(t[0]);break;case"payment":X(t[0]);break;default:p(n,t[0]);break}},I=()=>{if(D())return;if(!m())return;if(to())return;if(O()&&!T())return;if(_()&&!S())return;if(a()&&!oo())return;po(),eo(),bo(),wo(),mo(),Fo(),$o();let o=window,n=o.flowsery?.q||[];for(let t of n)go(t);o.flowsery=function(...t){go(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",I);else I();var Gn=async(o)=>{let n=window;return n.__flowsery_config=o,I(),{trackEvent:p,trackPayment:X,trackPageview:b,identify:H,stop:P,reset:Y,getTrackingParams:J,buildCrossDomainUrl:j,getVisitorId:x,getSessionId:u}};export{X as trackPayment,b as trackPageview,p as trackEvent,P as stopHeartbeat,Y as reset,Gn as initFlowsery,H as identify,x as getVisitorId,J as getTrackingParams,u as getSessionId,j as buildCrossDomainUrl};
|
|
1
|
+
var M=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(n)=>{let o=Math.random()*16|0;return(n==="x"?o:o&3|8).toString(16)})},E=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var p=()=>{return window.__flowsery_config||null},w=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let n=p();if(n)return n.websiteId;return w()?.getAttribute("data-fl-website-id")||""},R=()=>{return p()?.apiUrl??null},d=()=>{let n=p();if(n?.apiBase)return n.apiBase;let o=w(),t=o?.getAttribute("data-api");if(t)return t;let c=o?.src??"",r=c.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"");return r===c?"":r},F=()=>{return"https://analytics.flowsery.com/analytics"},V=()=>{let n=p();if(n?.domain)return n.domain;return w()?.getAttribute("data-domain")||location.hostname},W=()=>{let n=p();if(n)return!!n.cookieless;return w()?.hasAttribute("data-cookieless")??!1},qn=new Set(["localhost","127.0.0.1","[::1]"]),O=()=>{return qn.has(location.hostname)||location.hostname.endsWith(".local")},T=()=>{let n=p();if(n)return!!n.local;return w()?.hasAttribute("data-local")??!1},_=()=>{return location.protocol==="file:"},S=()=>{let n=p();if(n)return!!n.allowFileProtocol;return w()?.hasAttribute("data-allow-file-protocol")??!1},a=()=>{try{return window.self!==window.top}catch{return!0}},nn=()=>{let n=p();if(n)return!!n.allowIframe;return w()?.hasAttribute("data-allow-iframe")??!1};var U=()=>{let n=p();if(n)return!!n.hashMode;return w()?.src?.includes(".hash.js")??!1},on=()=>{let n=p();if(n?.allowedHostnames)return n.allowedHostnames;let t=w()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},tn=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},cn=()=>{let n=new URLSearchParams(window.location.search),o={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=n.get(t);if(c)o[t]=c}return o};var rn=R(),s=(n,o)=>{let t=d(),c=!!t,r=rn??(c?`${t}/api/track`:`${F()}/events`),f=m(),e=JSON.stringify({...o,websiteId:f,type:n});if(rn||!c){try{let l=new XMLHttpRequest;l.open("POST",r,!0),l.setRequestHeader("Content-Type","application/json"),l.send(e)}catch(l){}return}if(typeof navigator.sendBeacon==="function"){let l=new Blob([e],{type:"application/json"});if(navigator.sendBeacon(r,l))return}fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:e,keepalive:!0}).catch(()=>{})};var $="_fs_vid",J="_fs_sid",B="_fs_sts",Xn=1800000,h="_fs_vid",Y="_fs_sid",Gn=(n)=>{let o=document.cookie.match(new RegExp(`(?:^|; )${n}=([^;]*)`));return o?decodeURIComponent(o[1]):null},fn=(n,o,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=V(),f=r?`;domain=.${r}`:"";document.cookie=`${n}=${encodeURIComponent(o)};expires=${c};path=/${f};SameSite=Lax;Secure`},Hn=(n)=>{let o=V(),t=o?`;domain=.${o}`:"";document.cookie=`${n}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},Mn=()=>{let n=new URLSearchParams(window.location.search),o=n.get(h)||void 0,t=n.get(Y)||void 0;if(o||t){n.delete(h),n.delete(Y);let c=n.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:o,sid:t}},Q=null,un=()=>{if(Q===null)Q=Mn();return Q},u=()=>{if(W())return;let n=un();if(n.vid){fn($,n.vid,730);let t=n.vid;return n.vid=void 0,t}let o=Gn($);if(!o)o=M(),fn($,o,730);return o},x=()=>{if(W())return;let n=un();if(n.sid){let r=n.sid;return sessionStorage.setItem(J,r),sessionStorage.setItem(B,Date.now().toString()),n.sid=void 0,r}let o=Date.now(),t=parseInt(sessionStorage.getItem(B)||"0",10),c=sessionStorage.getItem(J);if(!c||o-t>Xn)c=M(),sessionStorage.setItem(J,c);return sessionStorage.setItem(B,o.toString()),c},xn=()=>{if(W())return;sessionStorage.setItem(B,Date.now().toString())},Z=()=>{let n=u(),o=x();return{...n&&{_fs_vid:n},...o&&{_fs_sid:o}}},j=(n)=>{let o=Z(),t=new URL(n);if(o._fs_vid)t.searchParams.set(h,o._fs_vid);if(o._fs_sid)t.searchParams.set(Y,o._fs_sid);return t.toString()},K=()=>{Hn($),sessionStorage.removeItem(J),sessionStorage.removeItem(B),Q=null};var Vn=5000,v=0,g=0,q=null,Un=()=>{let n=document.documentElement,o=window.scrollY||n.scrollTop,t=n.scrollHeight-n.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(o/t*100))},N=()=>{v++},ln=()=>{let n=Un();g=Math.max(g,n);let o=u(),t=x();s("heartbeat",{...o&&{visitorUid:o},...t&&{sessionUid:t},path:location.pathname,scrollDepth:g,isVisible:document.visibilityState==="visible",interactionCount:v}),xn()},sn=()=>{v=0,g=0},en=()=>{document.addEventListener("click",N,{passive:!0}),document.addEventListener("scroll",N,{passive:!0}),document.addEventListener("keydown",N,{passive:!0}),q=setInterval(ln,Vn),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")ln()})},L=()=>{if(q)clearInterval(q),q=null};var pn="",wn=!1,y=()=>{let n=U(),o=n?location.href:location.pathname+location.search;if(o===pn)return;pn=o,sn();let t=cn(),c=u(),r=x(),f=n?location.pathname+location.hash:location.pathname;if(s("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!wn){wn=!0;let e=F();if(e){let l=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${e}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:l,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},bn=()=>{y();let{pushState:n,replaceState:o}=history;if(history.pushState=function(...t){n.apply(this,t),y()},history.replaceState=function(...t){o.apply(this,t),y()},window.addEventListener("popstate",()=>y()),U())window.addEventListener("hashchange",()=>y())};var yn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=u(),f=x();if(!r||!f)return;s("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var hn=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,mn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t||!hn.test(t))return;let c=u(),r=x();s("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var b=(n,o)=>{let t=u(),c=x();s("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:n,metadata:o})};var P="data-fs-goal",Bn="data-fs-goal-",Yn=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(Bn)&&c.name!==P){let r=c.name.slice(Bn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},jn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest(`[${P}]`);if(!o)return;let t=o.getAttribute(P);if(!t)return;let c=Yn(o);b(t,c)})};var X="data-fs-scroll",Wn="data-fs-scroll-threshold",k="data-fs-scroll-delay",zn="data-fs-scroll-",Kn=new Set([X,Wn,k]),Fn=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(zn)&&!Kn.has(c.name)){let r=c.name.slice(zn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},$n=()=>{let n=document.querySelectorAll(`[${X}]`);if(!n.length)return;let o=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||o.has(f))continue;let e=f.getAttribute(X);if(!e)continue;let l=parseInt(f.getAttribute(k)||"0",10)||0,i=()=>{if(o.has(f))return;o.add(f),t.unobserve(f);let z=Fn(f);b(e,z)};if(l>0)setTimeout(i,l);else i()}},{threshold:0});for(let c of Array.from(n)){let r=parseFloat(c.getAttribute(Wn)||"0.5");if(r!==0.5){let f=new IntersectionObserver((e)=>{for(let l of e){let i=l.target;if(!l.isIntersecting||o.has(i))continue;let z=i.getAttribute(X);if(!z)continue;let D=parseInt(i.getAttribute(k)||"0",10)||0,A=()=>{if(o.has(i))return;o.add(i),f.unobserve(i);let gn=Fn(i);b(z,gn)};if(D>0)setTimeout(A,D);else A()}},{threshold:r});f.observe(c)}else t.observe(c)}};var I=null,Jn=()=>{if(!I)I=new Set(on());return I},Nn=(n)=>{let o=Jn();if(!o.size)return!1;for(let t of o)if(n===t||n.endsWith(`.${t}`))return!0;return!1},Qn=()=>{if(!Jn().size)return;document.addEventListener("click",(o)=>{let t=o.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Nn(r.hostname))return;t.href=j(c)}catch{}})};var G=(n)=>{let o=u(),t=x();s("payment",{...o&&{visitorUid:o},...t&&{sessionUid:t},...n.amount!=null&&{amount:n.amount},...n.currency&&{currency:n.currency},...n.transactionId&&{transactionId:n.transactionId},...n.email&&{email:n.email},...n.name&&{name:n.name},...n.customerId&&{customerId:n.customerId},...n.isRenewal!=null&&{isRenewal:n.isRenewal},...n.isRefund!=null&&{isRefund:n.isRefund}})};var H=(n)=>{let o=u();s("identify",{...o&&{visitorUid:o},userId:n.userId,name:n.name,email:n.email,image:n.image,profileData:n.profileData})};var Zn=(n)=>{let[o,...t]=n;switch(o){case"identify":H(t[0]);break;case"payment":G(t[0]);break;default:b(o,t[0]);break}},C=()=>{if(E())return;if(!m())return;if(tn())return;if(O()&&!T())return;if(_()&&!S())return;if(a()&&!nn())return;bn(),en(),yn(),mn(),jn(),$n(),Qn();let n=window,o=n.flowsery?.q||[];for(let t of o)Zn(t);n.flowsery=function(...t){Zn(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",C);else C();var Mo=async(n)=>{let o=window;return o.__flowsery_config=n,C(),{trackEvent:b,trackPayment:G,trackPageview:y,identify:H,stop:L,reset:K,getTrackingParams:Z,buildCrossDomainUrl:j,getVisitorId:u,getSessionId:x}};export{G as trackPayment,y as trackPageview,b as trackEvent,L as stopHeartbeat,K as reset,Mo as initFlowsery,H as identify,u as getVisitorId,Z as getTrackingParams,x as getSessionId,j as buildCrossDomainUrl};
|
package/dist/main.hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var{defineProperty:M,getOwnPropertyNames:qo,getOwnPropertyDescriptor:Xo}=Object,Ho=Object.prototype.hasOwnProperty;function ho(o){return this[o]}var Go=(o)=>{var n=(E??=new WeakMap).get(o),t;if(n)return n;if(n=M({},"__esModule",{value:!0}),o&&typeof o==="object"||typeof o==="function"){for(var c of qo(o))if(!Ho.call(n,c))M(n,c,{get:ho.bind(o,c),enumerable:!(t=Xo(o,c))||t.enumerable})}return E.set(o,n),n},E;var Mo=(o)=>o;function Uo(o,n){this[o]=Mo.bind(null,n)}var Vo=(o,n)=>{for(var t in n)M(o,t,{get:n[t],enumerable:!0,configurable:!0,set:Uo.bind(n,t)})};var Ro={};Vo(Ro,{trackPayment:()=>F,trackPageview:()=>b,trackEvent:()=>i,stopHeartbeat:()=>h,reset:()=>q,initFlowsery:()=>Eo,identify:()=>W,getVisitorId:()=>x,getTrackingParams:()=>z,getSessionId:()=>u,buildCrossDomainUrl:()=>B});var U=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(o)=>{let n=Math.random()*16|0;return(o==="x"?n:n&3|8).toString(16)})},d=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var s=()=>{return window.__flowsery_config||null},p=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let o=s();if(o)return o.websiteId;return p()?.getAttribute("data-fl-website-id")||""},R=()=>{return s()?.apiUrl??null},O=()=>{let o=s();if(o?.apiBase)return o.apiBase;let n=p();return n?.getAttribute("data-api")||n?.src?.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"")||""},T=()=>{return"https://analytics.flowsery.com/analytics"},V=()=>{let o=s();if(o?.domain)return o.domain;return p()?.getAttribute("data-domain")||location.hostname},g=()=>{let o=s();if(o)return!!o.cookieless;return p()?.hasAttribute("data-cookieless")??!1},Yo=new Set(["localhost","127.0.0.1","[::1]"]),_=()=>{return Yo.has(location.hostname)||location.hostname.endsWith(".local")},S=()=>{let o=s();if(o)return!!o.local;return p()?.hasAttribute("data-local")??!1},a=()=>{return location.protocol==="file:"},oo=()=>{let o=s();if(o)return!!o.allowFileProtocol;return p()?.hasAttribute("data-allow-file-protocol")??!1},no=()=>{try{return window.self!==window.top}catch{return!0}},to=()=>{let o=s();if(o)return!!o.allowIframe;return p()?.hasAttribute("data-allow-iframe")??!1};var Y=()=>{let o=s();if(o)return!!o.hashMode;return p()?.src?.includes(".hash.js")??!1},co=()=>{let o=s();if(o?.allowedHostnames)return o.allowedHostnames;let t=p()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},ro=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},fo=()=>{let o=new URLSearchParams(window.location.search),n={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=o.get(t);if(c)n[t]=c}return n};var l=(o,n)=>{let t=R()??`${O()}/api/track`,c=m(),r=JSON.stringify({...n,websiteId:c,type:o});if(typeof navigator.sendBeacon==="function"){let f=new Blob([r],{type:"application/json"});if(navigator.sendBeacon(t,f))return}fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0}).catch(()=>{})};var J="_fs_vid",Q="_fs_sid",j="_fs_sts",Ko=1800000,K="_fs_vid",N="_fs_sid",No=(o)=>{let n=document.cookie.match(new RegExp(`(?:^|; )${o}=([^;]*)`));return n?decodeURIComponent(n[1]):null},xo=(o,n,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=V(),f=r?`;domain=.${r}`:"";document.cookie=`${o}=${encodeURIComponent(n)};expires=${c};path=/${f};SameSite=Lax;Secure`},Po=(o)=>{let n=V(),t=n?`;domain=.${n}`:"";document.cookie=`${o}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},vo=()=>{let o=new URLSearchParams(window.location.search),n=o.get(K)||void 0,t=o.get(N)||void 0;if(n||t){o.delete(K),o.delete(N);let c=o.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:n,sid:t}},Z=null,uo=()=>{if(Z===null)Z=vo();return Z},x=()=>{if(g())return;let o=uo();if(o.vid){xo(J,o.vid,730);let t=o.vid;return o.vid=void 0,t}let n=No(J);if(!n)n=U(),xo(J,n,730);return n},u=()=>{if(g())return;let o=uo();if(o.sid){let r=o.sid;return sessionStorage.setItem(Q,r),sessionStorage.setItem(j,Date.now().toString()),o.sid=void 0,r}let n=Date.now(),t=parseInt(sessionStorage.getItem(j)||"0",10),c=sessionStorage.getItem(Q);if(!c||n-t>Ko)c=U(),sessionStorage.setItem(Q,c);return sessionStorage.setItem(j,n.toString()),c},lo=()=>{if(g())return;sessionStorage.setItem(j,Date.now().toString())},z=()=>{let o=x(),n=u();return{...o&&{_fs_vid:o},...n&&{_fs_sid:n}}},B=(o)=>{let n=z(),t=new URL(o);if(n._fs_vid)t.searchParams.set(K,n._fs_vid);if(n._fs_sid)t.searchParams.set(N,n._fs_sid);return t.toString()},q=()=>{Po(J),sessionStorage.removeItem(Q),sessionStorage.removeItem(j),Z=null};var Lo=5000,v=0,X=0,H=null,ko=()=>{let o=document.documentElement,n=window.scrollY||o.scrollTop,t=o.scrollHeight-o.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(n/t*100))},P=()=>{v++},eo=()=>{let o=ko();X=Math.max(X,o);let n=x(),t=u();l("heartbeat",{...n&&{visitorUid:n},...t&&{sessionUid:t},path:location.pathname+location.search,scrollDepth:X,isVisible:document.visibilityState==="visible",interactionCount:v}),lo()},so=()=>{v=0,X=0},io=()=>{document.addEventListener("click",P,{passive:!0}),document.addEventListener("scroll",P,{passive:!0}),document.addEventListener("keydown",P,{passive:!0}),H=setInterval(eo,Lo),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")eo()})},h=()=>{if(H)clearInterval(H),H=null};var po="",bo=!1,b=()=>{let o=Y(),n=o?location.href:location.pathname+location.search;if(n===po)return;po=n,so();let t=fo(),c=x(),r=u(),f=o?location.pathname+location.search+location.hash:location.pathname+location.search;if(l("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!bo){bo=!0;let w=T();if(w){let y=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${w}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:y,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},wo=()=>{b();let{pushState:o,replaceState:n}=history;if(history.pushState=function(...t){o.apply(this,t),b()},history.replaceState=function(...t){n.apply(this,t),b()},window.addEventListener("popstate",()=>b()),Y())window.addEventListener("hashchange",()=>b())};var yo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=x(),f=u();if(!r||!f)return;l("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var Io=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,mo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t||!Io.test(t))return;let c=x(),r=u();l("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var i=(o,n)=>{let t=x(),c=u();l("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:o,metadata:n})};var L="data-fs-goal",Bo="data-fs-goal-",Co=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(Bo)&&c.name!==L){let r=c.name.slice(Bo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},jo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest(`[${L}]`);if(!n)return;let t=n.getAttribute(L);if(!t)return;let c=Co(n);i(t,c)})};var G="data-fs-scroll",Wo="data-fs-scroll-threshold",k="data-fs-scroll-delay",zo="data-fs-scroll-",Ao=new Set([G,Wo,k]),Fo=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(zo)&&!Ao.has(c.name)){let r=c.name.slice(zo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},$o=()=>{let o=document.querySelectorAll(`[${G}]`);if(!o.length)return;let n=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||n.has(f))continue;let w=f.getAttribute(G);if(!w)continue;let y=parseInt(f.getAttribute(k)||"0",10)||0,e=()=>{if(n.has(f))return;n.add(f),t.unobserve(f);let $=Fo(f);i(w,$)};if(y>0)setTimeout(e,y);else e()}},{threshold:0});for(let c of Array.from(o)){let r=parseFloat(c.getAttribute(Wo)||"0.5");if(r!==0.5){let f=new IntersectionObserver((w)=>{for(let y of w){let e=y.target;if(!y.isIntersecting||n.has(e))continue;let $=e.getAttribute(G);if(!$)continue;let A=parseInt(e.getAttribute(k)||"0",10)||0,D=()=>{if(n.has(e))return;n.add(e),f.unobserve(e);let Zo=Fo(e);i($,Zo)};if(A>0)setTimeout(D,A);else D()}},{threshold:r});f.observe(c)}else t.observe(c)}};var I=null,go=()=>{if(!I)I=new Set(co());return I},Do=(o)=>{let n=go();if(!n.size)return!1;for(let t of n)if(o===t||o.endsWith(`.${t}`))return!0;return!1},Jo=()=>{if(!go().size)return;document.addEventListener("click",(n)=>{let t=n.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Do(r.hostname))return;t.href=B(c)}catch{}})};var F=(o)=>{let n=x(),t=u();l("payment",{...n&&{visitorUid:n},...t&&{sessionUid:t},...o.amount!=null&&{amount:o.amount},...o.currency&&{currency:o.currency},...o.transactionId&&{transactionId:o.transactionId},...o.email&&{email:o.email},...o.name&&{name:o.name},...o.customerId&&{customerId:o.customerId},...o.isRenewal!=null&&{isRenewal:o.isRenewal},...o.isRefund!=null&&{isRefund:o.isRefund}})};var W=(o)=>{let n=x();l("identify",{...n&&{visitorUid:n},userId:o.userId,name:o.name,email:o.email,image:o.image,profileData:o.profileData})};var Qo=(o)=>{let[n,...t]=o;switch(n){case"identify":W(t[0]);break;case"payment":F(t[0]);break;default:i(n,t[0]);break}},C=()=>{if(d())return;if(!m())return;if(ro())return;if(_()&&!S())return;if(a()&&!oo())return;if(no()&&!to())return;wo(),io(),yo(),mo(),jo(),$o(),Jo();let o=window,n=o.flowsery?.q||[];for(let t of n)Qo(t);o.flowsery=function(...t){Qo(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",C);else C();var Eo=async(o)=>{let n=window;return n.__flowsery_config=o,C(),{trackEvent:i,trackPayment:F,trackPageview:b,identify:W,stop:h,reset:q,getTrackingParams:z,buildCrossDomainUrl:B,getVisitorId:x,getSessionId:u}};})();
|
|
1
|
+
(()=>{var{defineProperty:U,getOwnPropertyNames:Gn,getOwnPropertyDescriptor:Hn}=Object,Mn=Object.prototype.hasOwnProperty;function Vn(n){return this[n]}var Un=(n)=>{var o=(R??=new WeakMap).get(n),t;if(o)return o;if(o=U({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var c of Gn(n))if(!Mn.call(o,c))U(o,c,{get:Vn.bind(n,c),enumerable:!(t=Hn(n,c))||t.enumerable})}return R.set(n,o),o},R;var hn=(n)=>n;function Yn(n,o){this[n]=hn.bind(null,o)}var Kn=(n,o)=>{for(var t in o)U(n,t,{get:o[t],enumerable:!0,configurable:!0,set:Yn.bind(o,t)})};var On={};Kn(On,{trackPayment:()=>F,trackPageview:()=>y,trackEvent:()=>w,stopHeartbeat:()=>M,reset:()=>X,initFlowsery:()=>dn,identify:()=>W,getVisitorId:()=>u,getTrackingParams:()=>z,getSessionId:()=>x,buildCrossDomainUrl:()=>B});var h=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(n)=>{let o=Math.random()*16|0;return(n==="x"?o:o&3|8).toString(16)})},d=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var p=()=>{return window.__flowsery_config||null},b=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let n=p();if(n)return n.websiteId;return b()?.getAttribute("data-fl-website-id")||""},O=()=>{return p()?.apiUrl??null},T=()=>{let n=p();if(n?.apiBase)return n.apiBase;let o=b(),t=o?.getAttribute("data-api");if(t)return t;let c=o?.src??"",r=c.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"");return r===c?"":r},J=()=>{return"https://analytics.flowsery.com/analytics"},Y=()=>{let n=p();if(n?.domain)return n.domain;return b()?.getAttribute("data-domain")||location.hostname},Q=()=>{let n=p();if(n)return!!n.cookieless;return b()?.hasAttribute("data-cookieless")??!1},Nn=new Set(["localhost","127.0.0.1","[::1]"]),_=()=>{return Nn.has(location.hostname)||location.hostname.endsWith(".local")},S=()=>{let n=p();if(n)return!!n.local;return b()?.hasAttribute("data-local")??!1},a=()=>{return location.protocol==="file:"},nn=()=>{let n=p();if(n)return!!n.allowFileProtocol;return b()?.hasAttribute("data-allow-file-protocol")??!1},on=()=>{try{return window.self!==window.top}catch{return!0}},tn=()=>{let n=p();if(n)return!!n.allowIframe;return b()?.hasAttribute("data-allow-iframe")??!1};var K=()=>{let n=p();if(n)return!!n.hashMode;return b()?.src?.includes(".hash.js")??!1},cn=()=>{let n=p();if(n?.allowedHostnames)return n.allowedHostnames;let t=b()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},rn=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},fn=()=>{let n=new URLSearchParams(window.location.search),o={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=n.get(t);if(c)o[t]=c}return o};var un=O(),s=(n,o)=>{let t=T(),c=!!t,r=un??(c?`${t}/api/track`:`${J()}/events`),f=m(),e=JSON.stringify({...o,websiteId:f,type:n});if(un||!c){try{let l=new XMLHttpRequest;l.open("POST",r,!0),l.setRequestHeader("Content-Type","application/json"),l.send(e)}catch(l){}return}if(typeof navigator.sendBeacon==="function"){let l=new Blob([e],{type:"application/json"});if(navigator.sendBeacon(r,l))return}fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:e,keepalive:!0}).catch(()=>{})};var Z="_fs_vid",g="_fs_sid",j="_fs_sts",vn=1800000,N="_fs_vid",v="_fs_sid",Ln=(n)=>{let o=document.cookie.match(new RegExp(`(?:^|; )${n}=([^;]*)`));return o?decodeURIComponent(o[1]):null},xn=(n,o,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=Y(),f=r?`;domain=.${r}`:"";document.cookie=`${n}=${encodeURIComponent(o)};expires=${c};path=/${f};SameSite=Lax;Secure`},Pn=(n)=>{let o=Y(),t=o?`;domain=.${o}`:"";document.cookie=`${n}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},kn=()=>{let n=new URLSearchParams(window.location.search),o=n.get(N)||void 0,t=n.get(v)||void 0;if(o||t){n.delete(N),n.delete(v);let c=n.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:o,sid:t}},q=null,ln=()=>{if(q===null)q=kn();return q},u=()=>{if(Q())return;let n=ln();if(n.vid){xn(Z,n.vid,730);let t=n.vid;return n.vid=void 0,t}let o=Ln(Z);if(!o)o=h(),xn(Z,o,730);return o},x=()=>{if(Q())return;let n=ln();if(n.sid){let r=n.sid;return sessionStorage.setItem(g,r),sessionStorage.setItem(j,Date.now().toString()),n.sid=void 0,r}let o=Date.now(),t=parseInt(sessionStorage.getItem(j)||"0",10),c=sessionStorage.getItem(g);if(!c||o-t>vn)c=h(),sessionStorage.setItem(g,c);return sessionStorage.setItem(j,o.toString()),c},sn=()=>{if(Q())return;sessionStorage.setItem(j,Date.now().toString())},z=()=>{let n=u(),o=x();return{...n&&{_fs_vid:n},...o&&{_fs_sid:o}}},B=(n)=>{let o=z(),t=new URL(n);if(o._fs_vid)t.searchParams.set(N,o._fs_vid);if(o._fs_sid)t.searchParams.set(v,o._fs_sid);return t.toString()},X=()=>{Pn(Z),sessionStorage.removeItem(g),sessionStorage.removeItem(j),q=null};var In=5000,P=0,G=0,H=null,Cn=()=>{let n=document.documentElement,o=window.scrollY||n.scrollTop,t=n.scrollHeight-n.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(o/t*100))},L=()=>{P++},en=()=>{let n=Cn();G=Math.max(G,n);let o=u(),t=x();s("heartbeat",{...o&&{visitorUid:o},...t&&{sessionUid:t},path:location.pathname,scrollDepth:G,isVisible:document.visibilityState==="visible",interactionCount:P}),sn()},pn=()=>{P=0,G=0},wn=()=>{document.addEventListener("click",L,{passive:!0}),document.addEventListener("scroll",L,{passive:!0}),document.addEventListener("keydown",L,{passive:!0}),H=setInterval(en,In),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")en()})},M=()=>{if(H)clearInterval(H),H=null};var bn="",yn=!1,y=()=>{let n=K(),o=n?location.href:location.pathname+location.search;if(o===bn)return;bn=o,pn();let t=fn(),c=u(),r=x(),f=n?location.pathname+location.hash:location.pathname;if(s("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!yn){yn=!0;let e=J();if(e){let l=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${e}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:l,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},mn=()=>{y();let{pushState:n,replaceState:o}=history;if(history.pushState=function(...t){n.apply(this,t),y()},history.replaceState=function(...t){o.apply(this,t),y()},window.addEventListener("popstate",()=>y()),K())window.addEventListener("hashchange",()=>y())};var Bn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=u(),f=x();if(!r||!f)return;s("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var Dn=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,jn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t||!Dn.test(t))return;let c=u(),r=x();s("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var w=(n,o)=>{let t=u(),c=x();s("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:n,metadata:o})};var k="data-fs-goal",zn="data-fs-goal-",An=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(zn)&&c.name!==k){let r=c.name.slice(zn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},Fn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest(`[${k}]`);if(!o)return;let t=o.getAttribute(k);if(!t)return;let c=An(o);w(t,c)})};var V="data-fs-scroll",Jn="data-fs-scroll-threshold",I="data-fs-scroll-delay",Wn="data-fs-scroll-",En=new Set([V,Jn,I]),$n=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(Wn)&&!En.has(c.name)){let r=c.name.slice(Wn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},Qn=()=>{let n=document.querySelectorAll(`[${V}]`);if(!n.length)return;let o=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||o.has(f))continue;let e=f.getAttribute(V);if(!e)continue;let l=parseInt(f.getAttribute(I)||"0",10)||0,i=()=>{if(o.has(f))return;o.add(f),t.unobserve(f);let $=$n(f);w(e,$)};if(l>0)setTimeout(i,l);else i()}},{threshold:0});for(let c of Array.from(n)){let r=parseFloat(c.getAttribute(Jn)||"0.5");if(r!==0.5){let f=new IntersectionObserver((e)=>{for(let l of e){let i=l.target;if(!l.isIntersecting||o.has(i))continue;let $=i.getAttribute(V);if(!$)continue;let A=parseInt(i.getAttribute(I)||"0",10)||0,E=()=>{if(o.has(i))return;o.add(i),f.unobserve(i);let Xn=$n(i);w($,Xn)};if(A>0)setTimeout(E,A);else E()}},{threshold:r});f.observe(c)}else t.observe(c)}};var C=null,Zn=()=>{if(!C)C=new Set(cn());return C},Rn=(n)=>{let o=Zn();if(!o.size)return!1;for(let t of o)if(n===t||n.endsWith(`.${t}`))return!0;return!1},gn=()=>{if(!Zn().size)return;document.addEventListener("click",(o)=>{let t=o.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Rn(r.hostname))return;t.href=B(c)}catch{}})};var F=(n)=>{let o=u(),t=x();s("payment",{...o&&{visitorUid:o},...t&&{sessionUid:t},...n.amount!=null&&{amount:n.amount},...n.currency&&{currency:n.currency},...n.transactionId&&{transactionId:n.transactionId},...n.email&&{email:n.email},...n.name&&{name:n.name},...n.customerId&&{customerId:n.customerId},...n.isRenewal!=null&&{isRenewal:n.isRenewal},...n.isRefund!=null&&{isRefund:n.isRefund}})};var W=(n)=>{let o=u();s("identify",{...o&&{visitorUid:o},userId:n.userId,name:n.name,email:n.email,image:n.image,profileData:n.profileData})};var qn=(n)=>{let[o,...t]=n;switch(o){case"identify":W(t[0]);break;case"payment":F(t[0]);break;default:w(o,t[0]);break}},D=()=>{if(d())return;if(!m())return;if(rn())return;if(_()&&!S())return;if(a()&&!nn())return;if(on()&&!tn())return;mn(),wn(),Bn(),jn(),Fn(),Qn(),gn();let n=window,o=n.flowsery?.q||[];for(let t of o)qn(t);n.flowsery=function(...t){qn(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",D);else D();var dn=async(n)=>{let o=window;return o.__flowsery_config=n,D(),{trackEvent:w,trackPayment:F,trackPageview:y,identify:W,stop:M,reset:X,getTrackingParams:z,buildCrossDomainUrl:B,getVisitorId:u,getSessionId:x}};})();
|
package/dist/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var{defineProperty:M,getOwnPropertyNames:qo,getOwnPropertyDescriptor:Xo}=Object,Ho=Object.prototype.hasOwnProperty;function ho(o){return this[o]}var Go=(o)=>{var n=(E??=new WeakMap).get(o),t;if(n)return n;if(n=M({},"__esModule",{value:!0}),o&&typeof o==="object"||typeof o==="function"){for(var c of qo(o))if(!Ho.call(n,c))M(n,c,{get:ho.bind(o,c),enumerable:!(t=Xo(o,c))||t.enumerable})}return E.set(o,n),n},E;var Mo=(o)=>o;function Uo(o,n){this[o]=Mo.bind(null,n)}var Vo=(o,n)=>{for(var t in n)M(o,t,{get:n[t],enumerable:!0,configurable:!0,set:Uo.bind(n,t)})};var Ro={};Vo(Ro,{trackPayment:()=>F,trackPageview:()=>b,trackEvent:()=>i,stopHeartbeat:()=>h,reset:()=>q,initFlowsery:()=>Eo,identify:()=>W,getVisitorId:()=>x,getTrackingParams:()=>z,getSessionId:()=>u,buildCrossDomainUrl:()=>B});var U=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(o)=>{let n=Math.random()*16|0;return(o==="x"?n:n&3|8).toString(16)})},d=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var s=()=>{return window.__flowsery_config||null},p=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let o=s();if(o)return o.websiteId;return p()?.getAttribute("data-fl-website-id")||""},R=()=>{return s()?.apiUrl??null},O=()=>{let o=s();if(o?.apiBase)return o.apiBase;let n=p();return n?.getAttribute("data-api")||n?.src?.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"")||""},T=()=>{return"https://analytics.flowsery.com/analytics"},V=()=>{let o=s();if(o?.domain)return o.domain;return p()?.getAttribute("data-domain")||location.hostname},g=()=>{let o=s();if(o)return!!o.cookieless;return p()?.hasAttribute("data-cookieless")??!1},Yo=new Set(["localhost","127.0.0.1","[::1]"]),_=()=>{return Yo.has(location.hostname)||location.hostname.endsWith(".local")},S=()=>{let o=s();if(o)return!!o.local;return p()?.hasAttribute("data-local")??!1},a=()=>{return location.protocol==="file:"},oo=()=>{let o=s();if(o)return!!o.allowFileProtocol;return p()?.hasAttribute("data-allow-file-protocol")??!1},no=()=>{try{return window.self!==window.top}catch{return!0}},to=()=>{let o=s();if(o)return!!o.allowIframe;return p()?.hasAttribute("data-allow-iframe")??!1};var Y=()=>{let o=s();if(o)return!!o.hashMode;return p()?.src?.includes(".hash.js")??!1},co=()=>{let o=s();if(o?.allowedHostnames)return o.allowedHostnames;let t=p()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},ro=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},fo=()=>{let o=new URLSearchParams(window.location.search),n={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=o.get(t);if(c)n[t]=c}return n};var l=(o,n)=>{let t=R()??`${O()}/api/track`,c=m(),r=JSON.stringify({...n,websiteId:c,type:o});if(typeof navigator.sendBeacon==="function"){let f=new Blob([r],{type:"application/json"});if(navigator.sendBeacon(t,f))return}fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0}).catch(()=>{})};var J="_fs_vid",Q="_fs_sid",j="_fs_sts",Ko=1800000,K="_fs_vid",N="_fs_sid",No=(o)=>{let n=document.cookie.match(new RegExp(`(?:^|; )${o}=([^;]*)`));return n?decodeURIComponent(n[1]):null},xo=(o,n,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=V(),f=r?`;domain=.${r}`:"";document.cookie=`${o}=${encodeURIComponent(n)};expires=${c};path=/${f};SameSite=Lax;Secure`},Po=(o)=>{let n=V(),t=n?`;domain=.${n}`:"";document.cookie=`${o}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},vo=()=>{let o=new URLSearchParams(window.location.search),n=o.get(K)||void 0,t=o.get(N)||void 0;if(n||t){o.delete(K),o.delete(N);let c=o.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:n,sid:t}},Z=null,uo=()=>{if(Z===null)Z=vo();return Z},x=()=>{if(g())return;let o=uo();if(o.vid){xo(J,o.vid,730);let t=o.vid;return o.vid=void 0,t}let n=No(J);if(!n)n=U(),xo(J,n,730);return n},u=()=>{if(g())return;let o=uo();if(o.sid){let r=o.sid;return sessionStorage.setItem(Q,r),sessionStorage.setItem(j,Date.now().toString()),o.sid=void 0,r}let n=Date.now(),t=parseInt(sessionStorage.getItem(j)||"0",10),c=sessionStorage.getItem(Q);if(!c||n-t>Ko)c=U(),sessionStorage.setItem(Q,c);return sessionStorage.setItem(j,n.toString()),c},lo=()=>{if(g())return;sessionStorage.setItem(j,Date.now().toString())},z=()=>{let o=x(),n=u();return{...o&&{_fs_vid:o},...n&&{_fs_sid:n}}},B=(o)=>{let n=z(),t=new URL(o);if(n._fs_vid)t.searchParams.set(K,n._fs_vid);if(n._fs_sid)t.searchParams.set(N,n._fs_sid);return t.toString()},q=()=>{Po(J),sessionStorage.removeItem(Q),sessionStorage.removeItem(j),Z=null};var Lo=5000,v=0,X=0,H=null,ko=()=>{let o=document.documentElement,n=window.scrollY||o.scrollTop,t=o.scrollHeight-o.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(n/t*100))},P=()=>{v++},eo=()=>{let o=ko();X=Math.max(X,o);let n=x(),t=u();l("heartbeat",{...n&&{visitorUid:n},...t&&{sessionUid:t},path:location.pathname+location.search,scrollDepth:X,isVisible:document.visibilityState==="visible",interactionCount:v}),lo()},so=()=>{v=0,X=0},io=()=>{document.addEventListener("click",P,{passive:!0}),document.addEventListener("scroll",P,{passive:!0}),document.addEventListener("keydown",P,{passive:!0}),H=setInterval(eo,Lo),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")eo()})},h=()=>{if(H)clearInterval(H),H=null};var po="",bo=!1,b=()=>{let o=Y(),n=o?location.href:location.pathname+location.search;if(n===po)return;po=n,so();let t=fo(),c=x(),r=u(),f=o?location.pathname+location.search+location.hash:location.pathname+location.search;if(l("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!bo){bo=!0;let w=T();if(w){let y=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${w}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:y,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},wo=()=>{b();let{pushState:o,replaceState:n}=history;if(history.pushState=function(...t){o.apply(this,t),b()},history.replaceState=function(...t){n.apply(this,t),b()},window.addEventListener("popstate",()=>b()),Y())window.addEventListener("hashchange",()=>b())};var yo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=x(),f=u();if(!r||!f)return;l("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var Io=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,mo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t||!Io.test(t))return;let c=x(),r=u();l("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var i=(o,n)=>{let t=x(),c=u();l("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:o,metadata:n})};var L="data-fs-goal",Bo="data-fs-goal-",Co=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(Bo)&&c.name!==L){let r=c.name.slice(Bo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},jo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest(`[${L}]`);if(!n)return;let t=n.getAttribute(L);if(!t)return;let c=Co(n);i(t,c)})};var G="data-fs-scroll",Wo="data-fs-scroll-threshold",k="data-fs-scroll-delay",zo="data-fs-scroll-",Ao=new Set([G,Wo,k]),Fo=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(zo)&&!Ao.has(c.name)){let r=c.name.slice(zo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},$o=()=>{let o=document.querySelectorAll(`[${G}]`);if(!o.length)return;let n=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||n.has(f))continue;let w=f.getAttribute(G);if(!w)continue;let y=parseInt(f.getAttribute(k)||"0",10)||0,e=()=>{if(n.has(f))return;n.add(f),t.unobserve(f);let $=Fo(f);i(w,$)};if(y>0)setTimeout(e,y);else e()}},{threshold:0});for(let c of Array.from(o)){let r=parseFloat(c.getAttribute(Wo)||"0.5");if(r!==0.5){let f=new IntersectionObserver((w)=>{for(let y of w){let e=y.target;if(!y.isIntersecting||n.has(e))continue;let $=e.getAttribute(G);if(!$)continue;let A=parseInt(e.getAttribute(k)||"0",10)||0,D=()=>{if(n.has(e))return;n.add(e),f.unobserve(e);let Zo=Fo(e);i($,Zo)};if(A>0)setTimeout(D,A);else D()}},{threshold:r});f.observe(c)}else t.observe(c)}};var I=null,go=()=>{if(!I)I=new Set(co());return I},Do=(o)=>{let n=go();if(!n.size)return!1;for(let t of n)if(o===t||o.endsWith(`.${t}`))return!0;return!1},Jo=()=>{if(!go().size)return;document.addEventListener("click",(n)=>{let t=n.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Do(r.hostname))return;t.href=B(c)}catch{}})};var F=(o)=>{let n=x(),t=u();l("payment",{...n&&{visitorUid:n},...t&&{sessionUid:t},...o.amount!=null&&{amount:o.amount},...o.currency&&{currency:o.currency},...o.transactionId&&{transactionId:o.transactionId},...o.email&&{email:o.email},...o.name&&{name:o.name},...o.customerId&&{customerId:o.customerId},...o.isRenewal!=null&&{isRenewal:o.isRenewal},...o.isRefund!=null&&{isRefund:o.isRefund}})};var W=(o)=>{let n=x();l("identify",{...n&&{visitorUid:n},userId:o.userId,name:o.name,email:o.email,image:o.image,profileData:o.profileData})};var Qo=(o)=>{let[n,...t]=o;switch(n){case"identify":W(t[0]);break;case"payment":F(t[0]);break;default:i(n,t[0]);break}},C=()=>{if(d())return;if(!m())return;if(ro())return;if(_()&&!S())return;if(a()&&!oo())return;if(no()&&!to())return;wo(),io(),yo(),mo(),jo(),$o(),Jo();let o=window,n=o.flowsery?.q||[];for(let t of n)Qo(t);o.flowsery=function(...t){Qo(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",C);else C();var Eo=async(o)=>{let n=window;return n.__flowsery_config=o,C(),{trackEvent:i,trackPayment:F,trackPageview:b,identify:W,stop:h,reset:q,getTrackingParams:z,buildCrossDomainUrl:B,getVisitorId:x,getSessionId:u}};})();
|
|
1
|
+
(()=>{var{defineProperty:U,getOwnPropertyNames:Gn,getOwnPropertyDescriptor:Hn}=Object,Mn=Object.prototype.hasOwnProperty;function Vn(n){return this[n]}var Un=(n)=>{var o=(R??=new WeakMap).get(n),t;if(o)return o;if(o=U({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var c of Gn(n))if(!Mn.call(o,c))U(o,c,{get:Vn.bind(n,c),enumerable:!(t=Hn(n,c))||t.enumerable})}return R.set(n,o),o},R;var hn=(n)=>n;function Yn(n,o){this[n]=hn.bind(null,o)}var Kn=(n,o)=>{for(var t in o)U(n,t,{get:o[t],enumerable:!0,configurable:!0,set:Yn.bind(o,t)})};var On={};Kn(On,{trackPayment:()=>F,trackPageview:()=>y,trackEvent:()=>w,stopHeartbeat:()=>M,reset:()=>X,initFlowsery:()=>dn,identify:()=>W,getVisitorId:()=>u,getTrackingParams:()=>z,getSessionId:()=>x,buildCrossDomainUrl:()=>B});var h=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(n)=>{let o=Math.random()*16|0;return(n==="x"?o:o&3|8).toString(16)})},d=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var p=()=>{return window.__flowsery_config||null},b=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let n=p();if(n)return n.websiteId;return b()?.getAttribute("data-fl-website-id")||""},O=()=>{return p()?.apiUrl??null},T=()=>{let n=p();if(n?.apiBase)return n.apiBase;let o=b(),t=o?.getAttribute("data-api");if(t)return t;let c=o?.src??"",r=c.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"");return r===c?"":r},J=()=>{return"https://analytics.flowsery.com/analytics"},Y=()=>{let n=p();if(n?.domain)return n.domain;return b()?.getAttribute("data-domain")||location.hostname},Q=()=>{let n=p();if(n)return!!n.cookieless;return b()?.hasAttribute("data-cookieless")??!1},Nn=new Set(["localhost","127.0.0.1","[::1]"]),_=()=>{return Nn.has(location.hostname)||location.hostname.endsWith(".local")},S=()=>{let n=p();if(n)return!!n.local;return b()?.hasAttribute("data-local")??!1},a=()=>{return location.protocol==="file:"},nn=()=>{let n=p();if(n)return!!n.allowFileProtocol;return b()?.hasAttribute("data-allow-file-protocol")??!1},on=()=>{try{return window.self!==window.top}catch{return!0}},tn=()=>{let n=p();if(n)return!!n.allowIframe;return b()?.hasAttribute("data-allow-iframe")??!1};var K=()=>{let n=p();if(n)return!!n.hashMode;return b()?.src?.includes(".hash.js")??!1},cn=()=>{let n=p();if(n?.allowedHostnames)return n.allowedHostnames;let t=b()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},rn=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},fn=()=>{let n=new URLSearchParams(window.location.search),o={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=n.get(t);if(c)o[t]=c}return o};var un=O(),s=(n,o)=>{let t=T(),c=!!t,r=un??(c?`${t}/api/track`:`${J()}/events`),f=m(),e=JSON.stringify({...o,websiteId:f,type:n});if(un||!c){try{let l=new XMLHttpRequest;l.open("POST",r,!0),l.setRequestHeader("Content-Type","application/json"),l.send(e)}catch(l){}return}if(typeof navigator.sendBeacon==="function"){let l=new Blob([e],{type:"application/json"});if(navigator.sendBeacon(r,l))return}fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:e,keepalive:!0}).catch(()=>{})};var Z="_fs_vid",g="_fs_sid",j="_fs_sts",vn=1800000,N="_fs_vid",v="_fs_sid",Ln=(n)=>{let o=document.cookie.match(new RegExp(`(?:^|; )${n}=([^;]*)`));return o?decodeURIComponent(o[1]):null},xn=(n,o,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=Y(),f=r?`;domain=.${r}`:"";document.cookie=`${n}=${encodeURIComponent(o)};expires=${c};path=/${f};SameSite=Lax;Secure`},Pn=(n)=>{let o=Y(),t=o?`;domain=.${o}`:"";document.cookie=`${n}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},kn=()=>{let n=new URLSearchParams(window.location.search),o=n.get(N)||void 0,t=n.get(v)||void 0;if(o||t){n.delete(N),n.delete(v);let c=n.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:o,sid:t}},q=null,ln=()=>{if(q===null)q=kn();return q},u=()=>{if(Q())return;let n=ln();if(n.vid){xn(Z,n.vid,730);let t=n.vid;return n.vid=void 0,t}let o=Ln(Z);if(!o)o=h(),xn(Z,o,730);return o},x=()=>{if(Q())return;let n=ln();if(n.sid){let r=n.sid;return sessionStorage.setItem(g,r),sessionStorage.setItem(j,Date.now().toString()),n.sid=void 0,r}let o=Date.now(),t=parseInt(sessionStorage.getItem(j)||"0",10),c=sessionStorage.getItem(g);if(!c||o-t>vn)c=h(),sessionStorage.setItem(g,c);return sessionStorage.setItem(j,o.toString()),c},sn=()=>{if(Q())return;sessionStorage.setItem(j,Date.now().toString())},z=()=>{let n=u(),o=x();return{...n&&{_fs_vid:n},...o&&{_fs_sid:o}}},B=(n)=>{let o=z(),t=new URL(n);if(o._fs_vid)t.searchParams.set(N,o._fs_vid);if(o._fs_sid)t.searchParams.set(v,o._fs_sid);return t.toString()},X=()=>{Pn(Z),sessionStorage.removeItem(g),sessionStorage.removeItem(j),q=null};var In=5000,P=0,G=0,H=null,Cn=()=>{let n=document.documentElement,o=window.scrollY||n.scrollTop,t=n.scrollHeight-n.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(o/t*100))},L=()=>{P++},en=()=>{let n=Cn();G=Math.max(G,n);let o=u(),t=x();s("heartbeat",{...o&&{visitorUid:o},...t&&{sessionUid:t},path:location.pathname,scrollDepth:G,isVisible:document.visibilityState==="visible",interactionCount:P}),sn()},pn=()=>{P=0,G=0},wn=()=>{document.addEventListener("click",L,{passive:!0}),document.addEventListener("scroll",L,{passive:!0}),document.addEventListener("keydown",L,{passive:!0}),H=setInterval(en,In),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")en()})},M=()=>{if(H)clearInterval(H),H=null};var bn="",yn=!1,y=()=>{let n=K(),o=n?location.href:location.pathname+location.search;if(o===bn)return;bn=o,pn();let t=fn(),c=u(),r=x(),f=n?location.pathname+location.hash:location.pathname;if(s("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!yn){yn=!0;let e=J();if(e){let l=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${e}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:l,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},mn=()=>{y();let{pushState:n,replaceState:o}=history;if(history.pushState=function(...t){n.apply(this,t),y()},history.replaceState=function(...t){o.apply(this,t),y()},window.addEventListener("popstate",()=>y()),K())window.addEventListener("hashchange",()=>y())};var Bn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=u(),f=x();if(!r||!f)return;s("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var Dn=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,jn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t||!Dn.test(t))return;let c=u(),r=x();s("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var w=(n,o)=>{let t=u(),c=x();s("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:n,metadata:o})};var k="data-fs-goal",zn="data-fs-goal-",An=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(zn)&&c.name!==k){let r=c.name.slice(zn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},Fn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest(`[${k}]`);if(!o)return;let t=o.getAttribute(k);if(!t)return;let c=An(o);w(t,c)})};var V="data-fs-scroll",Jn="data-fs-scroll-threshold",I="data-fs-scroll-delay",Wn="data-fs-scroll-",En=new Set([V,Jn,I]),$n=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(Wn)&&!En.has(c.name)){let r=c.name.slice(Wn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},Qn=()=>{let n=document.querySelectorAll(`[${V}]`);if(!n.length)return;let o=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||o.has(f))continue;let e=f.getAttribute(V);if(!e)continue;let l=parseInt(f.getAttribute(I)||"0",10)||0,i=()=>{if(o.has(f))return;o.add(f),t.unobserve(f);let $=$n(f);w(e,$)};if(l>0)setTimeout(i,l);else i()}},{threshold:0});for(let c of Array.from(n)){let r=parseFloat(c.getAttribute(Jn)||"0.5");if(r!==0.5){let f=new IntersectionObserver((e)=>{for(let l of e){let i=l.target;if(!l.isIntersecting||o.has(i))continue;let $=i.getAttribute(V);if(!$)continue;let A=parseInt(i.getAttribute(I)||"0",10)||0,E=()=>{if(o.has(i))return;o.add(i),f.unobserve(i);let Xn=$n(i);w($,Xn)};if(A>0)setTimeout(E,A);else E()}},{threshold:r});f.observe(c)}else t.observe(c)}};var C=null,Zn=()=>{if(!C)C=new Set(cn());return C},Rn=(n)=>{let o=Zn();if(!o.size)return!1;for(let t of o)if(n===t||n.endsWith(`.${t}`))return!0;return!1},gn=()=>{if(!Zn().size)return;document.addEventListener("click",(o)=>{let t=o.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Rn(r.hostname))return;t.href=B(c)}catch{}})};var F=(n)=>{let o=u(),t=x();s("payment",{...o&&{visitorUid:o},...t&&{sessionUid:t},...n.amount!=null&&{amount:n.amount},...n.currency&&{currency:n.currency},...n.transactionId&&{transactionId:n.transactionId},...n.email&&{email:n.email},...n.name&&{name:n.name},...n.customerId&&{customerId:n.customerId},...n.isRenewal!=null&&{isRenewal:n.isRenewal},...n.isRefund!=null&&{isRefund:n.isRefund}})};var W=(n)=>{let o=u();s("identify",{...o&&{visitorUid:o},userId:n.userId,name:n.name,email:n.email,image:n.image,profileData:n.profileData})};var qn=(n)=>{let[o,...t]=n;switch(o){case"identify":W(t[0]);break;case"payment":F(t[0]);break;default:w(o,t[0]);break}},D=()=>{if(d())return;if(!m())return;if(rn())return;if(_()&&!S())return;if(a()&&!nn())return;if(on()&&!tn())return;mn(),wn(),Bn(),jn(),Fn(),Qn(),gn();let n=window,o=n.flowsery?.q||[];for(let t of o)qn(t);n.flowsery=function(...t){qn(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",D);else D();var dn=async(n)=>{let o=window;return o.__flowsery_config=n,D(),{trackEvent:w,trackPayment:F,trackPageview:y,identify:W,stop:M,reset:X,getTrackingParams:z,buildCrossDomainUrl:B,getVisitorId:u,getSessionId:x}};})();
|
package/dist/script.hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var{defineProperty:M,getOwnPropertyNames:qo,getOwnPropertyDescriptor:Xo}=Object,Ho=Object.prototype.hasOwnProperty;function ho(o){return this[o]}var Go=(o)=>{var n=(E??=new WeakMap).get(o),t;if(n)return n;if(n=M({},"__esModule",{value:!0}),o&&typeof o==="object"||typeof o==="function"){for(var c of qo(o))if(!Ho.call(n,c))M(n,c,{get:ho.bind(o,c),enumerable:!(t=Xo(o,c))||t.enumerable})}return E.set(o,n),n},E;var Mo=(o)=>o;function Uo(o,n){this[o]=Mo.bind(null,n)}var Vo=(o,n)=>{for(var t in n)M(o,t,{get:n[t],enumerable:!0,configurable:!0,set:Uo.bind(n,t)})};var Ro={};Vo(Ro,{trackPayment:()=>F,trackPageview:()=>b,trackEvent:()=>i,stopHeartbeat:()=>h,reset:()=>q,initFlowsery:()=>Eo,identify:()=>W,getVisitorId:()=>x,getTrackingParams:()=>z,getSessionId:()=>u,buildCrossDomainUrl:()=>B});var U=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(o)=>{let n=Math.random()*16|0;return(o==="x"?n:n&3|8).toString(16)})},d=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var s=()=>{return window.__flowsery_config||null},p=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let o=s();if(o)return o.websiteId;return p()?.getAttribute("data-fl-website-id")||""},R=()=>{return s()?.apiUrl??null},O=()=>{let o=s();if(o?.apiBase)return o.apiBase;let n=p();return n?.getAttribute("data-api")||n?.src?.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"")||""},T=()=>{return"https://analytics.flowsery.com/analytics"},V=()=>{let o=s();if(o?.domain)return o.domain;return p()?.getAttribute("data-domain")||location.hostname},g=()=>{let o=s();if(o)return!!o.cookieless;return p()?.hasAttribute("data-cookieless")??!1},Yo=new Set(["localhost","127.0.0.1","[::1]"]),_=()=>{return Yo.has(location.hostname)||location.hostname.endsWith(".local")},S=()=>{let o=s();if(o)return!!o.local;return p()?.hasAttribute("data-local")??!1},a=()=>{return location.protocol==="file:"},oo=()=>{let o=s();if(o)return!!o.allowFileProtocol;return p()?.hasAttribute("data-allow-file-protocol")??!1},no=()=>{try{return window.self!==window.top}catch{return!0}},to=()=>{let o=s();if(o)return!!o.allowIframe;return p()?.hasAttribute("data-allow-iframe")??!1};var Y=()=>{let o=s();if(o)return!!o.hashMode;return p()?.src?.includes(".hash.js")??!1},co=()=>{let o=s();if(o?.allowedHostnames)return o.allowedHostnames;let t=p()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},ro=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},fo=()=>{let o=new URLSearchParams(window.location.search),n={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=o.get(t);if(c)n[t]=c}return n};var l=(o,n)=>{let t=R()??`${O()}/api/track`,c=m(),r=JSON.stringify({...n,websiteId:c,type:o});if(typeof navigator.sendBeacon==="function"){let f=new Blob([r],{type:"application/json"});if(navigator.sendBeacon(t,f))return}fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0}).catch(()=>{})};var J="_fs_vid",Q="_fs_sid",j="_fs_sts",Ko=1800000,K="_fs_vid",N="_fs_sid",No=(o)=>{let n=document.cookie.match(new RegExp(`(?:^|; )${o}=([^;]*)`));return n?decodeURIComponent(n[1]):null},xo=(o,n,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=V(),f=r?`;domain=.${r}`:"";document.cookie=`${o}=${encodeURIComponent(n)};expires=${c};path=/${f};SameSite=Lax;Secure`},Po=(o)=>{let n=V(),t=n?`;domain=.${n}`:"";document.cookie=`${o}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},vo=()=>{let o=new URLSearchParams(window.location.search),n=o.get(K)||void 0,t=o.get(N)||void 0;if(n||t){o.delete(K),o.delete(N);let c=o.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:n,sid:t}},Z=null,uo=()=>{if(Z===null)Z=vo();return Z},x=()=>{if(g())return;let o=uo();if(o.vid){xo(J,o.vid,730);let t=o.vid;return o.vid=void 0,t}let n=No(J);if(!n)n=U(),xo(J,n,730);return n},u=()=>{if(g())return;let o=uo();if(o.sid){let r=o.sid;return sessionStorage.setItem(Q,r),sessionStorage.setItem(j,Date.now().toString()),o.sid=void 0,r}let n=Date.now(),t=parseInt(sessionStorage.getItem(j)||"0",10),c=sessionStorage.getItem(Q);if(!c||n-t>Ko)c=U(),sessionStorage.setItem(Q,c);return sessionStorage.setItem(j,n.toString()),c},lo=()=>{if(g())return;sessionStorage.setItem(j,Date.now().toString())},z=()=>{let o=x(),n=u();return{...o&&{_fs_vid:o},...n&&{_fs_sid:n}}},B=(o)=>{let n=z(),t=new URL(o);if(n._fs_vid)t.searchParams.set(K,n._fs_vid);if(n._fs_sid)t.searchParams.set(N,n._fs_sid);return t.toString()},q=()=>{Po(J),sessionStorage.removeItem(Q),sessionStorage.removeItem(j),Z=null};var Lo=5000,v=0,X=0,H=null,ko=()=>{let o=document.documentElement,n=window.scrollY||o.scrollTop,t=o.scrollHeight-o.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(n/t*100))},P=()=>{v++},eo=()=>{let o=ko();X=Math.max(X,o);let n=x(),t=u();l("heartbeat",{...n&&{visitorUid:n},...t&&{sessionUid:t},path:location.pathname+location.search,scrollDepth:X,isVisible:document.visibilityState==="visible",interactionCount:v}),lo()},so=()=>{v=0,X=0},io=()=>{document.addEventListener("click",P,{passive:!0}),document.addEventListener("scroll",P,{passive:!0}),document.addEventListener("keydown",P,{passive:!0}),H=setInterval(eo,Lo),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")eo()})},h=()=>{if(H)clearInterval(H),H=null};var po="",bo=!1,b=()=>{let o=Y(),n=o?location.href:location.pathname+location.search;if(n===po)return;po=n,so();let t=fo(),c=x(),r=u(),f=o?location.pathname+location.search+location.hash:location.pathname+location.search;if(l("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!bo){bo=!0;let w=T();if(w){let y=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${w}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:y,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},wo=()=>{b();let{pushState:o,replaceState:n}=history;if(history.pushState=function(...t){o.apply(this,t),b()},history.replaceState=function(...t){n.apply(this,t),b()},window.addEventListener("popstate",()=>b()),Y())window.addEventListener("hashchange",()=>b())};var yo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=x(),f=u();if(!r||!f)return;l("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var Io=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,mo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t||!Io.test(t))return;let c=x(),r=u();l("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var i=(o,n)=>{let t=x(),c=u();l("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:o,metadata:n})};var L="data-fs-goal",Bo="data-fs-goal-",Co=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(Bo)&&c.name!==L){let r=c.name.slice(Bo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},jo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest(`[${L}]`);if(!n)return;let t=n.getAttribute(L);if(!t)return;let c=Co(n);i(t,c)})};var G="data-fs-scroll",Wo="data-fs-scroll-threshold",k="data-fs-scroll-delay",zo="data-fs-scroll-",Ao=new Set([G,Wo,k]),Fo=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(zo)&&!Ao.has(c.name)){let r=c.name.slice(zo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},$o=()=>{let o=document.querySelectorAll(`[${G}]`);if(!o.length)return;let n=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||n.has(f))continue;let w=f.getAttribute(G);if(!w)continue;let y=parseInt(f.getAttribute(k)||"0",10)||0,e=()=>{if(n.has(f))return;n.add(f),t.unobserve(f);let $=Fo(f);i(w,$)};if(y>0)setTimeout(e,y);else e()}},{threshold:0});for(let c of Array.from(o)){let r=parseFloat(c.getAttribute(Wo)||"0.5");if(r!==0.5){let f=new IntersectionObserver((w)=>{for(let y of w){let e=y.target;if(!y.isIntersecting||n.has(e))continue;let $=e.getAttribute(G);if(!$)continue;let A=parseInt(e.getAttribute(k)||"0",10)||0,D=()=>{if(n.has(e))return;n.add(e),f.unobserve(e);let Zo=Fo(e);i($,Zo)};if(A>0)setTimeout(D,A);else D()}},{threshold:r});f.observe(c)}else t.observe(c)}};var I=null,go=()=>{if(!I)I=new Set(co());return I},Do=(o)=>{let n=go();if(!n.size)return!1;for(let t of n)if(o===t||o.endsWith(`.${t}`))return!0;return!1},Jo=()=>{if(!go().size)return;document.addEventListener("click",(n)=>{let t=n.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Do(r.hostname))return;t.href=B(c)}catch{}})};var F=(o)=>{let n=x(),t=u();l("payment",{...n&&{visitorUid:n},...t&&{sessionUid:t},...o.amount!=null&&{amount:o.amount},...o.currency&&{currency:o.currency},...o.transactionId&&{transactionId:o.transactionId},...o.email&&{email:o.email},...o.name&&{name:o.name},...o.customerId&&{customerId:o.customerId},...o.isRenewal!=null&&{isRenewal:o.isRenewal},...o.isRefund!=null&&{isRefund:o.isRefund}})};var W=(o)=>{let n=x();l("identify",{...n&&{visitorUid:n},userId:o.userId,name:o.name,email:o.email,image:o.image,profileData:o.profileData})};var Qo=(o)=>{let[n,...t]=o;switch(n){case"identify":W(t[0]);break;case"payment":F(t[0]);break;default:i(n,t[0]);break}},C=()=>{if(d())return;if(!m())return;if(ro())return;if(_()&&!S())return;if(a()&&!oo())return;if(no()&&!to())return;wo(),io(),yo(),mo(),jo(),$o(),Jo();let o=window,n=o.flowsery?.q||[];for(let t of n)Qo(t);o.flowsery=function(...t){Qo(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",C);else C();var Eo=async(o)=>{let n=window;return n.__flowsery_config=o,C(),{trackEvent:i,trackPayment:F,trackPageview:b,identify:W,stop:h,reset:q,getTrackingParams:z,buildCrossDomainUrl:B,getVisitorId:x,getSessionId:u}};})();
|
|
1
|
+
(()=>{var{defineProperty:U,getOwnPropertyNames:Gn,getOwnPropertyDescriptor:Hn}=Object,Mn=Object.prototype.hasOwnProperty;function Vn(n){return this[n]}var Un=(n)=>{var o=(R??=new WeakMap).get(n),t;if(o)return o;if(o=U({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var c of Gn(n))if(!Mn.call(o,c))U(o,c,{get:Vn.bind(n,c),enumerable:!(t=Hn(n,c))||t.enumerable})}return R.set(n,o),o},R;var hn=(n)=>n;function Yn(n,o){this[n]=hn.bind(null,o)}var Kn=(n,o)=>{for(var t in o)U(n,t,{get:o[t],enumerable:!0,configurable:!0,set:Yn.bind(o,t)})};var On={};Kn(On,{trackPayment:()=>F,trackPageview:()=>y,trackEvent:()=>w,stopHeartbeat:()=>M,reset:()=>X,initFlowsery:()=>dn,identify:()=>W,getVisitorId:()=>u,getTrackingParams:()=>z,getSessionId:()=>x,buildCrossDomainUrl:()=>B});var h=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(n)=>{let o=Math.random()*16|0;return(n==="x"?o:o&3|8).toString(16)})},d=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var p=()=>{return window.__flowsery_config||null},b=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let n=p();if(n)return n.websiteId;return b()?.getAttribute("data-fl-website-id")||""},O=()=>{return p()?.apiUrl??null},T=()=>{let n=p();if(n?.apiBase)return n.apiBase;let o=b(),t=o?.getAttribute("data-api");if(t)return t;let c=o?.src??"",r=c.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"");return r===c?"":r},J=()=>{return"https://analytics.flowsery.com/analytics"},Y=()=>{let n=p();if(n?.domain)return n.domain;return b()?.getAttribute("data-domain")||location.hostname},Q=()=>{let n=p();if(n)return!!n.cookieless;return b()?.hasAttribute("data-cookieless")??!1},Nn=new Set(["localhost","127.0.0.1","[::1]"]),_=()=>{return Nn.has(location.hostname)||location.hostname.endsWith(".local")},S=()=>{let n=p();if(n)return!!n.local;return b()?.hasAttribute("data-local")??!1},a=()=>{return location.protocol==="file:"},nn=()=>{let n=p();if(n)return!!n.allowFileProtocol;return b()?.hasAttribute("data-allow-file-protocol")??!1},on=()=>{try{return window.self!==window.top}catch{return!0}},tn=()=>{let n=p();if(n)return!!n.allowIframe;return b()?.hasAttribute("data-allow-iframe")??!1};var K=()=>{let n=p();if(n)return!!n.hashMode;return b()?.src?.includes(".hash.js")??!1},cn=()=>{let n=p();if(n?.allowedHostnames)return n.allowedHostnames;let t=b()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},rn=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},fn=()=>{let n=new URLSearchParams(window.location.search),o={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=n.get(t);if(c)o[t]=c}return o};var un=O(),s=(n,o)=>{let t=T(),c=!!t,r=un??(c?`${t}/api/track`:`${J()}/events`),f=m(),e=JSON.stringify({...o,websiteId:f,type:n});if(un||!c){try{let l=new XMLHttpRequest;l.open("POST",r,!0),l.setRequestHeader("Content-Type","application/json"),l.send(e)}catch(l){}return}if(typeof navigator.sendBeacon==="function"){let l=new Blob([e],{type:"application/json"});if(navigator.sendBeacon(r,l))return}fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:e,keepalive:!0}).catch(()=>{})};var Z="_fs_vid",g="_fs_sid",j="_fs_sts",vn=1800000,N="_fs_vid",v="_fs_sid",Ln=(n)=>{let o=document.cookie.match(new RegExp(`(?:^|; )${n}=([^;]*)`));return o?decodeURIComponent(o[1]):null},xn=(n,o,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=Y(),f=r?`;domain=.${r}`:"";document.cookie=`${n}=${encodeURIComponent(o)};expires=${c};path=/${f};SameSite=Lax;Secure`},Pn=(n)=>{let o=Y(),t=o?`;domain=.${o}`:"";document.cookie=`${n}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},kn=()=>{let n=new URLSearchParams(window.location.search),o=n.get(N)||void 0,t=n.get(v)||void 0;if(o||t){n.delete(N),n.delete(v);let c=n.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:o,sid:t}},q=null,ln=()=>{if(q===null)q=kn();return q},u=()=>{if(Q())return;let n=ln();if(n.vid){xn(Z,n.vid,730);let t=n.vid;return n.vid=void 0,t}let o=Ln(Z);if(!o)o=h(),xn(Z,o,730);return o},x=()=>{if(Q())return;let n=ln();if(n.sid){let r=n.sid;return sessionStorage.setItem(g,r),sessionStorage.setItem(j,Date.now().toString()),n.sid=void 0,r}let o=Date.now(),t=parseInt(sessionStorage.getItem(j)||"0",10),c=sessionStorage.getItem(g);if(!c||o-t>vn)c=h(),sessionStorage.setItem(g,c);return sessionStorage.setItem(j,o.toString()),c},sn=()=>{if(Q())return;sessionStorage.setItem(j,Date.now().toString())},z=()=>{let n=u(),o=x();return{...n&&{_fs_vid:n},...o&&{_fs_sid:o}}},B=(n)=>{let o=z(),t=new URL(n);if(o._fs_vid)t.searchParams.set(N,o._fs_vid);if(o._fs_sid)t.searchParams.set(v,o._fs_sid);return t.toString()},X=()=>{Pn(Z),sessionStorage.removeItem(g),sessionStorage.removeItem(j),q=null};var In=5000,P=0,G=0,H=null,Cn=()=>{let n=document.documentElement,o=window.scrollY||n.scrollTop,t=n.scrollHeight-n.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(o/t*100))},L=()=>{P++},en=()=>{let n=Cn();G=Math.max(G,n);let o=u(),t=x();s("heartbeat",{...o&&{visitorUid:o},...t&&{sessionUid:t},path:location.pathname,scrollDepth:G,isVisible:document.visibilityState==="visible",interactionCount:P}),sn()},pn=()=>{P=0,G=0},wn=()=>{document.addEventListener("click",L,{passive:!0}),document.addEventListener("scroll",L,{passive:!0}),document.addEventListener("keydown",L,{passive:!0}),H=setInterval(en,In),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")en()})},M=()=>{if(H)clearInterval(H),H=null};var bn="",yn=!1,y=()=>{let n=K(),o=n?location.href:location.pathname+location.search;if(o===bn)return;bn=o,pn();let t=fn(),c=u(),r=x(),f=n?location.pathname+location.hash:location.pathname;if(s("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!yn){yn=!0;let e=J();if(e){let l=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${e}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:l,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},mn=()=>{y();let{pushState:n,replaceState:o}=history;if(history.pushState=function(...t){n.apply(this,t),y()},history.replaceState=function(...t){o.apply(this,t),y()},window.addEventListener("popstate",()=>y()),K())window.addEventListener("hashchange",()=>y())};var Bn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=u(),f=x();if(!r||!f)return;s("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var Dn=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,jn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t||!Dn.test(t))return;let c=u(),r=x();s("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var w=(n,o)=>{let t=u(),c=x();s("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:n,metadata:o})};var k="data-fs-goal",zn="data-fs-goal-",An=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(zn)&&c.name!==k){let r=c.name.slice(zn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},Fn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest(`[${k}]`);if(!o)return;let t=o.getAttribute(k);if(!t)return;let c=An(o);w(t,c)})};var V="data-fs-scroll",Jn="data-fs-scroll-threshold",I="data-fs-scroll-delay",Wn="data-fs-scroll-",En=new Set([V,Jn,I]),$n=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(Wn)&&!En.has(c.name)){let r=c.name.slice(Wn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},Qn=()=>{let n=document.querySelectorAll(`[${V}]`);if(!n.length)return;let o=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||o.has(f))continue;let e=f.getAttribute(V);if(!e)continue;let l=parseInt(f.getAttribute(I)||"0",10)||0,i=()=>{if(o.has(f))return;o.add(f),t.unobserve(f);let $=$n(f);w(e,$)};if(l>0)setTimeout(i,l);else i()}},{threshold:0});for(let c of Array.from(n)){let r=parseFloat(c.getAttribute(Jn)||"0.5");if(r!==0.5){let f=new IntersectionObserver((e)=>{for(let l of e){let i=l.target;if(!l.isIntersecting||o.has(i))continue;let $=i.getAttribute(V);if(!$)continue;let A=parseInt(i.getAttribute(I)||"0",10)||0,E=()=>{if(o.has(i))return;o.add(i),f.unobserve(i);let Xn=$n(i);w($,Xn)};if(A>0)setTimeout(E,A);else E()}},{threshold:r});f.observe(c)}else t.observe(c)}};var C=null,Zn=()=>{if(!C)C=new Set(cn());return C},Rn=(n)=>{let o=Zn();if(!o.size)return!1;for(let t of o)if(n===t||n.endsWith(`.${t}`))return!0;return!1},gn=()=>{if(!Zn().size)return;document.addEventListener("click",(o)=>{let t=o.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Rn(r.hostname))return;t.href=B(c)}catch{}})};var F=(n)=>{let o=u(),t=x();s("payment",{...o&&{visitorUid:o},...t&&{sessionUid:t},...n.amount!=null&&{amount:n.amount},...n.currency&&{currency:n.currency},...n.transactionId&&{transactionId:n.transactionId},...n.email&&{email:n.email},...n.name&&{name:n.name},...n.customerId&&{customerId:n.customerId},...n.isRenewal!=null&&{isRenewal:n.isRenewal},...n.isRefund!=null&&{isRefund:n.isRefund}})};var W=(n)=>{let o=u();s("identify",{...o&&{visitorUid:o},userId:n.userId,name:n.name,email:n.email,image:n.image,profileData:n.profileData})};var qn=(n)=>{let[o,...t]=n;switch(o){case"identify":W(t[0]);break;case"payment":F(t[0]);break;default:w(o,t[0]);break}},D=()=>{if(d())return;if(!m())return;if(rn())return;if(_()&&!S())return;if(a()&&!nn())return;if(on()&&!tn())return;mn(),wn(),Bn(),jn(),Fn(),Qn(),gn();let n=window,o=n.flowsery?.q||[];for(let t of o)qn(t);n.flowsery=function(...t){qn(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",D);else D();var dn=async(n)=>{let o=window;return o.__flowsery_config=n,D(),{trackEvent:w,trackPayment:F,trackPageview:y,identify:W,stop:M,reset:X,getTrackingParams:z,buildCrossDomainUrl:B,getVisitorId:u,getSessionId:x}};})();
|
package/dist/script.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var{defineProperty:M,getOwnPropertyNames:qo,getOwnPropertyDescriptor:Xo}=Object,Ho=Object.prototype.hasOwnProperty;function ho(o){return this[o]}var Go=(o)=>{var n=(E??=new WeakMap).get(o),t;if(n)return n;if(n=M({},"__esModule",{value:!0}),o&&typeof o==="object"||typeof o==="function"){for(var c of qo(o))if(!Ho.call(n,c))M(n,c,{get:ho.bind(o,c),enumerable:!(t=Xo(o,c))||t.enumerable})}return E.set(o,n),n},E;var Mo=(o)=>o;function Uo(o,n){this[o]=Mo.bind(null,n)}var Vo=(o,n)=>{for(var t in n)M(o,t,{get:n[t],enumerable:!0,configurable:!0,set:Uo.bind(n,t)})};var Ro={};Vo(Ro,{trackPayment:()=>F,trackPageview:()=>b,trackEvent:()=>i,stopHeartbeat:()=>h,reset:()=>q,initFlowsery:()=>Eo,identify:()=>W,getVisitorId:()=>x,getTrackingParams:()=>z,getSessionId:()=>u,buildCrossDomainUrl:()=>B});var U=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(o)=>{let n=Math.random()*16|0;return(o==="x"?n:n&3|8).toString(16)})},d=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var s=()=>{return window.__flowsery_config||null},p=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let o=s();if(o)return o.websiteId;return p()?.getAttribute("data-fl-website-id")||""},R=()=>{return s()?.apiUrl??null},O=()=>{let o=s();if(o?.apiBase)return o.apiBase;let n=p();return n?.getAttribute("data-api")||n?.src?.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"")||""},T=()=>{return"https://analytics.flowsery.com/analytics"},V=()=>{let o=s();if(o?.domain)return o.domain;return p()?.getAttribute("data-domain")||location.hostname},g=()=>{let o=s();if(o)return!!o.cookieless;return p()?.hasAttribute("data-cookieless")??!1},Yo=new Set(["localhost","127.0.0.1","[::1]"]),_=()=>{return Yo.has(location.hostname)||location.hostname.endsWith(".local")},S=()=>{let o=s();if(o)return!!o.local;return p()?.hasAttribute("data-local")??!1},a=()=>{return location.protocol==="file:"},oo=()=>{let o=s();if(o)return!!o.allowFileProtocol;return p()?.hasAttribute("data-allow-file-protocol")??!1},no=()=>{try{return window.self!==window.top}catch{return!0}},to=()=>{let o=s();if(o)return!!o.allowIframe;return p()?.hasAttribute("data-allow-iframe")??!1};var Y=()=>{let o=s();if(o)return!!o.hashMode;return p()?.src?.includes(".hash.js")??!1},co=()=>{let o=s();if(o?.allowedHostnames)return o.allowedHostnames;let t=p()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},ro=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},fo=()=>{let o=new URLSearchParams(window.location.search),n={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=o.get(t);if(c)n[t]=c}return n};var l=(o,n)=>{let t=R()??`${O()}/api/track`,c=m(),r=JSON.stringify({...n,websiteId:c,type:o});if(typeof navigator.sendBeacon==="function"){let f=new Blob([r],{type:"application/json"});if(navigator.sendBeacon(t,f))return}fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0}).catch(()=>{})};var J="_fs_vid",Q="_fs_sid",j="_fs_sts",Ko=1800000,K="_fs_vid",N="_fs_sid",No=(o)=>{let n=document.cookie.match(new RegExp(`(?:^|; )${o}=([^;]*)`));return n?decodeURIComponent(n[1]):null},xo=(o,n,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=V(),f=r?`;domain=.${r}`:"";document.cookie=`${o}=${encodeURIComponent(n)};expires=${c};path=/${f};SameSite=Lax;Secure`},Po=(o)=>{let n=V(),t=n?`;domain=.${n}`:"";document.cookie=`${o}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},vo=()=>{let o=new URLSearchParams(window.location.search),n=o.get(K)||void 0,t=o.get(N)||void 0;if(n||t){o.delete(K),o.delete(N);let c=o.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:n,sid:t}},Z=null,uo=()=>{if(Z===null)Z=vo();return Z},x=()=>{if(g())return;let o=uo();if(o.vid){xo(J,o.vid,730);let t=o.vid;return o.vid=void 0,t}let n=No(J);if(!n)n=U(),xo(J,n,730);return n},u=()=>{if(g())return;let o=uo();if(o.sid){let r=o.sid;return sessionStorage.setItem(Q,r),sessionStorage.setItem(j,Date.now().toString()),o.sid=void 0,r}let n=Date.now(),t=parseInt(sessionStorage.getItem(j)||"0",10),c=sessionStorage.getItem(Q);if(!c||n-t>Ko)c=U(),sessionStorage.setItem(Q,c);return sessionStorage.setItem(j,n.toString()),c},lo=()=>{if(g())return;sessionStorage.setItem(j,Date.now().toString())},z=()=>{let o=x(),n=u();return{...o&&{_fs_vid:o},...n&&{_fs_sid:n}}},B=(o)=>{let n=z(),t=new URL(o);if(n._fs_vid)t.searchParams.set(K,n._fs_vid);if(n._fs_sid)t.searchParams.set(N,n._fs_sid);return t.toString()},q=()=>{Po(J),sessionStorage.removeItem(Q),sessionStorage.removeItem(j),Z=null};var Lo=5000,v=0,X=0,H=null,ko=()=>{let o=document.documentElement,n=window.scrollY||o.scrollTop,t=o.scrollHeight-o.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(n/t*100))},P=()=>{v++},eo=()=>{let o=ko();X=Math.max(X,o);let n=x(),t=u();l("heartbeat",{...n&&{visitorUid:n},...t&&{sessionUid:t},path:location.pathname+location.search,scrollDepth:X,isVisible:document.visibilityState==="visible",interactionCount:v}),lo()},so=()=>{v=0,X=0},io=()=>{document.addEventListener("click",P,{passive:!0}),document.addEventListener("scroll",P,{passive:!0}),document.addEventListener("keydown",P,{passive:!0}),H=setInterval(eo,Lo),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")eo()})},h=()=>{if(H)clearInterval(H),H=null};var po="",bo=!1,b=()=>{let o=Y(),n=o?location.href:location.pathname+location.search;if(n===po)return;po=n,so();let t=fo(),c=x(),r=u(),f=o?location.pathname+location.search+location.hash:location.pathname+location.search;if(l("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!bo){bo=!0;let w=T();if(w){let y=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${w}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:y,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},wo=()=>{b();let{pushState:o,replaceState:n}=history;if(history.pushState=function(...t){o.apply(this,t),b()},history.replaceState=function(...t){n.apply(this,t),b()},window.addEventListener("popstate",()=>b()),Y())window.addEventListener("hashchange",()=>b())};var yo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=x(),f=u();if(!r||!f)return;l("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var Io=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,mo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest("a");if(!n)return;let t=n.href;if(!t||!Io.test(t))return;let c=x(),r=u();l("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var i=(o,n)=>{let t=x(),c=u();l("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:o,metadata:n})};var L="data-fs-goal",Bo="data-fs-goal-",Co=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(Bo)&&c.name!==L){let r=c.name.slice(Bo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},jo=()=>{document.addEventListener("click",(o)=>{let n=o.target.closest(`[${L}]`);if(!n)return;let t=n.getAttribute(L);if(!t)return;let c=Co(n);i(t,c)})};var G="data-fs-scroll",Wo="data-fs-scroll-threshold",k="data-fs-scroll-delay",zo="data-fs-scroll-",Ao=new Set([G,Wo,k]),Fo=(o)=>{let n={},t=0;for(let c of Array.from(o.attributes))if(c.name.startsWith(zo)&&!Ao.has(c.name)){let r=c.name.slice(zo.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)n[r]=f,t++}return t>0?n:void 0},$o=()=>{let o=document.querySelectorAll(`[${G}]`);if(!o.length)return;let n=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||n.has(f))continue;let w=f.getAttribute(G);if(!w)continue;let y=parseInt(f.getAttribute(k)||"0",10)||0,e=()=>{if(n.has(f))return;n.add(f),t.unobserve(f);let $=Fo(f);i(w,$)};if(y>0)setTimeout(e,y);else e()}},{threshold:0});for(let c of Array.from(o)){let r=parseFloat(c.getAttribute(Wo)||"0.5");if(r!==0.5){let f=new IntersectionObserver((w)=>{for(let y of w){let e=y.target;if(!y.isIntersecting||n.has(e))continue;let $=e.getAttribute(G);if(!$)continue;let A=parseInt(e.getAttribute(k)||"0",10)||0,D=()=>{if(n.has(e))return;n.add(e),f.unobserve(e);let Zo=Fo(e);i($,Zo)};if(A>0)setTimeout(D,A);else D()}},{threshold:r});f.observe(c)}else t.observe(c)}};var I=null,go=()=>{if(!I)I=new Set(co());return I},Do=(o)=>{let n=go();if(!n.size)return!1;for(let t of n)if(o===t||o.endsWith(`.${t}`))return!0;return!1},Jo=()=>{if(!go().size)return;document.addEventListener("click",(n)=>{let t=n.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Do(r.hostname))return;t.href=B(c)}catch{}})};var F=(o)=>{let n=x(),t=u();l("payment",{...n&&{visitorUid:n},...t&&{sessionUid:t},...o.amount!=null&&{amount:o.amount},...o.currency&&{currency:o.currency},...o.transactionId&&{transactionId:o.transactionId},...o.email&&{email:o.email},...o.name&&{name:o.name},...o.customerId&&{customerId:o.customerId},...o.isRenewal!=null&&{isRenewal:o.isRenewal},...o.isRefund!=null&&{isRefund:o.isRefund}})};var W=(o)=>{let n=x();l("identify",{...n&&{visitorUid:n},userId:o.userId,name:o.name,email:o.email,image:o.image,profileData:o.profileData})};var Qo=(o)=>{let[n,...t]=o;switch(n){case"identify":W(t[0]);break;case"payment":F(t[0]);break;default:i(n,t[0]);break}},C=()=>{if(d())return;if(!m())return;if(ro())return;if(_()&&!S())return;if(a()&&!oo())return;if(no()&&!to())return;wo(),io(),yo(),mo(),jo(),$o(),Jo();let o=window,n=o.flowsery?.q||[];for(let t of n)Qo(t);o.flowsery=function(...t){Qo(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",C);else C();var Eo=async(o)=>{let n=window;return n.__flowsery_config=o,C(),{trackEvent:i,trackPayment:F,trackPageview:b,identify:W,stop:h,reset:q,getTrackingParams:z,buildCrossDomainUrl:B,getVisitorId:x,getSessionId:u}};})();
|
|
1
|
+
(()=>{var{defineProperty:U,getOwnPropertyNames:Gn,getOwnPropertyDescriptor:Hn}=Object,Mn=Object.prototype.hasOwnProperty;function Vn(n){return this[n]}var Un=(n)=>{var o=(R??=new WeakMap).get(n),t;if(o)return o;if(o=U({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var c of Gn(n))if(!Mn.call(o,c))U(o,c,{get:Vn.bind(n,c),enumerable:!(t=Hn(n,c))||t.enumerable})}return R.set(n,o),o},R;var hn=(n)=>n;function Yn(n,o){this[n]=hn.bind(null,o)}var Kn=(n,o)=>{for(var t in o)U(n,t,{get:o[t],enumerable:!0,configurable:!0,set:Yn.bind(o,t)})};var On={};Kn(On,{trackPayment:()=>F,trackPageview:()=>y,trackEvent:()=>w,stopHeartbeat:()=>M,reset:()=>X,initFlowsery:()=>dn,identify:()=>W,getVisitorId:()=>u,getTrackingParams:()=>z,getSessionId:()=>x,buildCrossDomainUrl:()=>B});var h=()=>{return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(n)=>{let o=Math.random()*16|0;return(n==="x"?o:o&3|8).toString(16)})},d=()=>{if(typeof navigator>"u")return!0;return"webdriver"in navigator&&navigator.webdriver===!0};var p=()=>{return window.__flowsery_config||null},b=()=>{return document.querySelector("script[data-fl-website-id]")},m=()=>{let n=p();if(n)return n.websiteId;return b()?.getAttribute("data-fl-website-id")||""},O=()=>{return p()?.apiUrl??null},T=()=>{let n=p();if(n?.apiBase)return n.apiBase;let o=b(),t=o?.getAttribute("data-api");if(t)return t;let c=o?.src??"",r=c.replace(/\/js\/(?:script|main)(?:\.hash)?\.js.*/,"");return r===c?"":r},J=()=>{return"https://analytics.flowsery.com/analytics"},Y=()=>{let n=p();if(n?.domain)return n.domain;return b()?.getAttribute("data-domain")||location.hostname},Q=()=>{let n=p();if(n)return!!n.cookieless;return b()?.hasAttribute("data-cookieless")??!1},Nn=new Set(["localhost","127.0.0.1","[::1]"]),_=()=>{return Nn.has(location.hostname)||location.hostname.endsWith(".local")},S=()=>{let n=p();if(n)return!!n.local;return b()?.hasAttribute("data-local")??!1},a=()=>{return location.protocol==="file:"},nn=()=>{let n=p();if(n)return!!n.allowFileProtocol;return b()?.hasAttribute("data-allow-file-protocol")??!1},on=()=>{try{return window.self!==window.top}catch{return!0}},tn=()=>{let n=p();if(n)return!!n.allowIframe;return b()?.hasAttribute("data-allow-iframe")??!1};var K=()=>{let n=p();if(n)return!!n.hashMode;return b()?.src?.includes(".hash.js")??!1},cn=()=>{let n=p();if(n?.allowedHostnames)return n.allowedHostnames;let t=b()?.getAttribute("data-allowed-hostnames");return t?t.split(",").map((c)=>c.trim()).filter(Boolean):[]},rn=()=>{try{return localStorage.getItem("flowsery_ignore")==="true"}catch{return!1}},fn=()=>{let n=new URLSearchParams(window.location.search),o={};for(let t of["utm_source","utm_medium","utm_campaign","utm_term","utm_content","ref","source","via"]){let c=n.get(t);if(c)o[t]=c}return o};var un=O(),s=(n,o)=>{let t=T(),c=!!t,r=un??(c?`${t}/api/track`:`${J()}/events`),f=m(),e=JSON.stringify({...o,websiteId:f,type:n});if(un||!c){try{let l=new XMLHttpRequest;l.open("POST",r,!0),l.setRequestHeader("Content-Type","application/json"),l.send(e)}catch(l){}return}if(typeof navigator.sendBeacon==="function"){let l=new Blob([e],{type:"application/json"});if(navigator.sendBeacon(r,l))return}fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:e,keepalive:!0}).catch(()=>{})};var Z="_fs_vid",g="_fs_sid",j="_fs_sts",vn=1800000,N="_fs_vid",v="_fs_sid",Ln=(n)=>{let o=document.cookie.match(new RegExp(`(?:^|; )${n}=([^;]*)`));return o?decodeURIComponent(o[1]):null},xn=(n,o,t)=>{let c=new Date(Date.now()+t*86400000).toUTCString(),r=Y(),f=r?`;domain=.${r}`:"";document.cookie=`${n}=${encodeURIComponent(o)};expires=${c};path=/${f};SameSite=Lax;Secure`},Pn=(n)=>{let o=Y(),t=o?`;domain=.${o}`:"";document.cookie=`${n}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/${t};SameSite=Lax;Secure`},kn=()=>{let n=new URLSearchParams(window.location.search),o=n.get(N)||void 0,t=n.get(v)||void 0;if(o||t){n.delete(N),n.delete(v);let c=n.toString(),r=window.location.pathname+(c?`?${c}`:"")+window.location.hash;history.replaceState(null,"",r)}return{vid:o,sid:t}},q=null,ln=()=>{if(q===null)q=kn();return q},u=()=>{if(Q())return;let n=ln();if(n.vid){xn(Z,n.vid,730);let t=n.vid;return n.vid=void 0,t}let o=Ln(Z);if(!o)o=h(),xn(Z,o,730);return o},x=()=>{if(Q())return;let n=ln();if(n.sid){let r=n.sid;return sessionStorage.setItem(g,r),sessionStorage.setItem(j,Date.now().toString()),n.sid=void 0,r}let o=Date.now(),t=parseInt(sessionStorage.getItem(j)||"0",10),c=sessionStorage.getItem(g);if(!c||o-t>vn)c=h(),sessionStorage.setItem(g,c);return sessionStorage.setItem(j,o.toString()),c},sn=()=>{if(Q())return;sessionStorage.setItem(j,Date.now().toString())},z=()=>{let n=u(),o=x();return{...n&&{_fs_vid:n},...o&&{_fs_sid:o}}},B=(n)=>{let o=z(),t=new URL(n);if(o._fs_vid)t.searchParams.set(N,o._fs_vid);if(o._fs_sid)t.searchParams.set(v,o._fs_sid);return t.toString()},X=()=>{Pn(Z),sessionStorage.removeItem(g),sessionStorage.removeItem(j),q=null};var In=5000,P=0,G=0,H=null,Cn=()=>{let n=document.documentElement,o=window.scrollY||n.scrollTop,t=n.scrollHeight-n.clientHeight;if(t<=0)return 100;return Math.min(100,Math.round(o/t*100))},L=()=>{P++},en=()=>{let n=Cn();G=Math.max(G,n);let o=u(),t=x();s("heartbeat",{...o&&{visitorUid:o},...t&&{sessionUid:t},path:location.pathname,scrollDepth:G,isVisible:document.visibilityState==="visible",interactionCount:P}),sn()},pn=()=>{P=0,G=0},wn=()=>{document.addEventListener("click",L,{passive:!0}),document.addEventListener("scroll",L,{passive:!0}),document.addEventListener("keydown",L,{passive:!0}),H=setInterval(en,In),document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden")en()})},M=()=>{if(H)clearInterval(H),H=null};var bn="",yn=!1,y=()=>{let n=K(),o=n?location.href:location.pathname+location.search;if(o===bn)return;bn=o,pn();let t=fn(),c=u(),r=x(),f=n?location.pathname+location.hash:location.pathname;if(s("pageview",{...c&&{visitorUid:c},...r&&{sessionUid:r},hostname:location.hostname,path:f,referrer:document.referrer||void 0,title:document.title||void 0,screenWidth:window.screen?.width,screenHeight:window.screen?.height,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||void 0,language:navigator.language||void 0,utmSource:t.utm_source,utmMedium:t.utm_medium,utmCampaign:t.utm_campaign,utmTerm:t.utm_term,utmContent:t.utm_content,ref:t.ref,source:t.source,via:t.via}),!yn){yn=!0;let e=J();if(e){let l=JSON.stringify({type:"geo",websiteId:m(),visitorUid:c||void 0,sessionUid:r||void 0});try{fetch(`${e}/events`,{method:"POST",headers:{"Content-Type":"application/json"},body:l,keepalive:!0,credentials:"omit"}).catch(()=>{})}catch{}}}},mn=()=>{y();let{pushState:n,replaceState:o}=history;if(history.pushState=function(...t){n.apply(this,t),y()},history.replaceState=function(...t){o.apply(this,t),y()},window.addEventListener("popstate",()=>y()),K())window.addEventListener("hashchange",()=>y())};var Bn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t)return;try{let c=new URL(t);if(c.protocol!=="http:"&&c.protocol!=="https:")return;if(c.hostname===location.hostname)return;let r=u(),f=x();if(!r||!f)return;s("exit_click",{visitorUid:r,sessionUid:f,hostname:location.hostname,url:t})}catch{}})};var Dn=/\.(pdf|zip|dmg|exe|doc|docx|xls|xlsx|ppt|pptx|csv|rar|7z|tar|gz|mp3|mp4|avi|mov)$/i,jn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest("a");if(!o)return;let t=o.href;if(!t||!Dn.test(t))return;let c=u(),r=x();s("goal",{...c&&{visitorUid:c},...r&&{sessionUid:r},name:"file_download",metadata:{url:t}})})};var w=(n,o)=>{let t=u(),c=x();s("goal",{...t&&{visitorUid:t},...c&&{sessionUid:c},name:n,metadata:o})};var k="data-fs-goal",zn="data-fs-goal-",An=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(zn)&&c.name!==k){let r=c.name.slice(zn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},Fn=()=>{document.addEventListener("click",(n)=>{let o=n.target.closest(`[${k}]`);if(!o)return;let t=o.getAttribute(k);if(!t)return;let c=An(o);w(t,c)})};var V="data-fs-scroll",Jn="data-fs-scroll-threshold",I="data-fs-scroll-delay",Wn="data-fs-scroll-",En=new Set([V,Jn,I]),$n=(n)=>{let o={},t=0;for(let c of Array.from(n.attributes))if(c.name.startsWith(Wn)&&!En.has(c.name)){let r=c.name.slice(Wn.length).replace(/-/g,"_"),f=(c.value||"").slice(0,255);if(r&&t<10)o[r]=f,t++}return t>0?o:void 0},Qn=()=>{let n=document.querySelectorAll(`[${V}]`);if(!n.length)return;let o=new Set,t=new IntersectionObserver((c)=>{for(let r of c){let f=r.target;if(!r.isIntersecting||o.has(f))continue;let e=f.getAttribute(V);if(!e)continue;let l=parseInt(f.getAttribute(I)||"0",10)||0,i=()=>{if(o.has(f))return;o.add(f),t.unobserve(f);let $=$n(f);w(e,$)};if(l>0)setTimeout(i,l);else i()}},{threshold:0});for(let c of Array.from(n)){let r=parseFloat(c.getAttribute(Jn)||"0.5");if(r!==0.5){let f=new IntersectionObserver((e)=>{for(let l of e){let i=l.target;if(!l.isIntersecting||o.has(i))continue;let $=i.getAttribute(V);if(!$)continue;let A=parseInt(i.getAttribute(I)||"0",10)||0,E=()=>{if(o.has(i))return;o.add(i),f.unobserve(i);let Xn=$n(i);w($,Xn)};if(A>0)setTimeout(E,A);else E()}},{threshold:r});f.observe(c)}else t.observe(c)}};var C=null,Zn=()=>{if(!C)C=new Set(cn());return C},Rn=(n)=>{let o=Zn();if(!o.size)return!1;for(let t of o)if(n===t||n.endsWith(`.${t}`))return!0;return!1},gn=()=>{if(!Zn().size)return;document.addEventListener("click",(o)=>{let t=o.target.closest("a");if(!t)return;let c=t.href;if(!c)return;try{let r=new URL(c);if(r.hostname===location.hostname)return;if(!Rn(r.hostname))return;t.href=B(c)}catch{}})};var F=(n)=>{let o=u(),t=x();s("payment",{...o&&{visitorUid:o},...t&&{sessionUid:t},...n.amount!=null&&{amount:n.amount},...n.currency&&{currency:n.currency},...n.transactionId&&{transactionId:n.transactionId},...n.email&&{email:n.email},...n.name&&{name:n.name},...n.customerId&&{customerId:n.customerId},...n.isRenewal!=null&&{isRenewal:n.isRenewal},...n.isRefund!=null&&{isRefund:n.isRefund}})};var W=(n)=>{let o=u();s("identify",{...o&&{visitorUid:o},userId:n.userId,name:n.name,email:n.email,image:n.image,profileData:n.profileData})};var qn=(n)=>{let[o,...t]=n;switch(o){case"identify":W(t[0]);break;case"payment":F(t[0]);break;default:w(o,t[0]);break}},D=()=>{if(d())return;if(!m())return;if(rn())return;if(_()&&!S())return;if(a()&&!nn())return;if(on()&&!tn())return;mn(),wn(),Bn(),jn(),Fn(),Qn(),gn();let n=window,o=n.flowsery?.q||[];for(let t of o)qn(t);n.flowsery=function(...t){qn(t)}};if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",D);else D();var dn=async(n)=>{let o=window;return o.__flowsery_config=n,D(),{trackEvent:w,trackPayment:F,trackPageview:y,identify:W,stop:M,reset:X,getTrackingParams:z,buildCrossDomainUrl:B,getVisitorId:u,getSessionId:x}};})();
|