clarity-js 0.8.11-beta → 0.8.12
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/.lintstagedrc.yml +3 -0
- package/biome.json +43 -0
- package/build/clarity.extended.js +1 -1
- package/build/clarity.insight.js +1 -1
- package/build/clarity.js +4591 -4362
- package/build/clarity.min.js +1 -1
- package/build/clarity.module.js +4591 -4362
- package/build/clarity.performance.js +1 -1
- package/package.json +76 -69
- package/rollup.config.ts +84 -88
- package/src/clarity.ts +34 -28
- package/src/core/api.ts +8 -1
- package/src/core/config.ts +2 -2
- package/src/core/event.ts +36 -32
- package/src/core/hash.ts +5 -6
- package/src/core/history.ts +10 -11
- package/src/core/index.ts +21 -11
- package/src/core/measure.ts +9 -5
- package/src/core/report.ts +9 -5
- package/src/core/scrub.ts +29 -20
- package/src/core/task.ts +73 -45
- package/src/core/time.ts +3 -3
- package/src/core/timeout.ts +2 -2
- package/src/core/version.ts +1 -1
- package/src/data/baseline.ts +60 -55
- package/src/data/consent.ts +2 -2
- package/src/data/custom.ts +8 -13
- package/src/data/dimension.ts +11 -7
- package/src/data/encode.ts +36 -30
- package/src/data/envelope.ts +38 -38
- package/src/data/extract.ts +86 -77
- package/src/data/index.ts +10 -6
- package/src/data/limit.ts +1 -1
- package/src/data/metadata.ts +305 -266
- package/src/data/metric.ts +18 -8
- package/src/data/ping.ts +8 -4
- package/src/data/signal.ts +18 -18
- package/src/data/summary.ts +6 -4
- package/src/data/token.ts +10 -8
- package/src/data/upgrade.ts +7 -3
- package/src/data/upload.ts +100 -49
- package/src/data/variable.ts +27 -20
- package/src/diagnostic/encode.ts +2 -2
- package/src/diagnostic/fraud.ts +3 -4
- package/src/diagnostic/internal.ts +11 -5
- package/src/diagnostic/script.ts +12 -8
- package/src/global.ts +1 -1
- package/src/insight/blank.ts +4 -4
- package/src/insight/encode.ts +23 -17
- package/src/insight/snapshot.ts +57 -37
- package/src/interaction/change.ts +9 -6
- package/src/interaction/click.ts +34 -28
- package/src/interaction/clipboard.ts +2 -2
- package/src/interaction/encode.ts +35 -31
- package/src/interaction/input.ts +11 -9
- package/src/interaction/pointer.ts +42 -31
- package/src/interaction/resize.ts +5 -5
- package/src/interaction/scroll.ts +21 -18
- package/src/interaction/selection.ts +12 -8
- package/src/interaction/submit.ts +2 -2
- package/src/interaction/timeline.ts +13 -9
- package/src/interaction/unload.ts +1 -1
- package/src/interaction/visibility.ts +2 -2
- package/src/layout/animation.ts +47 -41
- package/src/layout/discover.ts +5 -5
- package/src/layout/document.ts +31 -19
- package/src/layout/dom.ts +141 -91
- package/src/layout/encode.ts +52 -37
- package/src/layout/mutation.ts +321 -318
- package/src/layout/node.ts +104 -81
- package/src/layout/offset.ts +7 -6
- package/src/layout/region.ts +67 -44
- package/src/layout/schema.ts +15 -8
- package/src/layout/selector.ts +47 -25
- package/src/layout/style.ts +44 -36
- package/src/layout/target.ts +14 -10
- package/src/layout/traverse.ts +17 -11
- package/src/performance/blank.ts +1 -1
- package/src/performance/encode.ts +4 -4
- package/src/performance/interaction.ts +58 -70
- package/src/performance/navigation.ts +2 -2
- package/src/performance/observer.ts +59 -26
- package/src/queue.ts +16 -9
- package/tsconfig.json +1 -1
- package/tslint.json +25 -32
- package/types/core.d.ts +13 -13
- package/types/data.d.ts +33 -29
- package/types/diagnostic.d.ts +1 -1
- package/types/interaction.d.ts +7 -5
- package/types/layout.d.ts +36 -21
- package/types/performance.d.ts +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";var t=Object.freeze({__proto__:null,get queue(){return bt},get start(){return yt},get stop(){return wt},get track(){return dt}}),n=Object.freeze({__proto__:null,get check(){return Ot},get compute(){return xt},get data(){return pt},get start(){return Mt},get stop(){return jt},get trigger(){return Tt}}),e=Object.freeze({__proto__:null,get compute(){return Dt},get data(){return zt},get log(){return Nt},get reset(){return Rt},get start(){return Pt},get stop(){return qt},get updates(){return At}}),r=Object.freeze({__proto__:null,get callback(){return Ft},get callbacks(){return Xt},get clear(){return Gt},get consent(){return Zt},get data(){return Ut},get electron(){return Lt},get id(){return Jt},get metadata(){return Wt},get save(){return Kt},get shortid(){return tn},get start(){return Bt},get stop(){return Yt}}),o=Object.freeze({__proto__:null,get data(){return cn},get envelope(){return dn},get start(){return sn},get stop(){return ln}}),a={projectId:null,delay:1e3,lean:!1,lite:!1,track:!0,content:!0,drop:[],mask:[],unmask:[],regions:[],cookies:[],fraud:!0,checksum:[],report:null,upload:null,fallback:null,upgrade:null,action:null,dob:null,delayDom:!1,throttleDom:!0,conversions:!1,includeSubdomains:!0};function i(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var u=0;function c(t){void 0===t&&(t=null);var n=t&&t.timeStamp>0?t.timeStamp:performance.now(),e=t&&t.view?t.view.performance.timeOrigin:performance.timeOrigin;return Math.max(Math.round(n+e-u),0)}var s="0.8.11-beta";var l=255,d=!0,p=null,f=null;function h(t,n,e){void 0===n&&(n=!1),void 0===e&&(e=!1);var r=t;if(n)r="".concat("https://").concat("Electron");else{var o=a.drop;if(o&&o.length>0&&t&&t.indexOf("?")>0){var i=t.split("?"),u=i[0],c=i[1];r=u+"?"+c.split("&").map((function(t){return o.some((function(n){return 0===t.indexOf("".concat(n,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&")}}return e&&(r=r.substring(0,l)),r}function v(t,n,e){return function(){if(d&&null===p)try{p=new RegExp("\\p{N}","gu"),f=new RegExp("\\p{L}","gu"),new RegExp("\\p{Sc}","gu")}catch(t){d=!1}}(),t?t.replace(f,n).replace(p,e):t}var g=[],m=null;function y(){}var b=[];function w(){}function k(){}var S=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:m,hashText:w,keys:b,log:y,observe:function(){},reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:g,stop:function(){},trigger:k}),_=null;function E(t,n){Nn()&&t&&"string"==typeof t&&t.length<255&&(_=n&&"string"==typeof n&&n.length<255?{key:t,value:n}:{value:t},It(24))}var I,M=null,O=null;function T(t){t in M||(M[t]=0),t in O||(O[t]=0),M[t]++,O[t]++}function x(t,n){null!==n&&(t in M||(M[t]=0),t in O||(O[t]=0),M[t]+=n,O[t]+=n)}function j(t,n){null!==n&&!1===isNaN(n)&&(t in M||(M[t]=0),(n>M[t]||0===M[t])&&(O[t]=n,M[t]=n))}function z(t,n,e){return window.setTimeout(hn(t),n,e)}function A(t){return window.clearTimeout(t)}var C=0,P=0,q=null;function N(){q&&A(q),q=z(D,P),C=c()}function D(){var t=c();I={gap:t-C},It(25),I.gap<3e5?q=z(D,P):Cn&&(E("clarity","suspend"),ae(),["mousemove","touchstart"].forEach((function(t){return gn(document,t,Dn)})),["resize","scroll","pageshow"].forEach((function(t){return gn(window,t,Dn)})))}var R=Object.freeze({__proto__:null,get data(){return I},reset:N,start:function(){P=6e4,C=0},stop:function(){A(q),C=0,P=0}}),H=null;function U(t){Nn()&&a.lean&&(a.lean=!1,H={key:t},Ft(),Kt(),a.upgrade&&a.upgrade(t),It(3),a.lite)}var X=Object.freeze({__proto__:null,get data(){return H},start:function(){!a.lean&&a.upgrade&&a.upgrade("Config"),H=null},stop:function(){H=null},upgrade:U});function L(t,n,e,r){return new(e||(e=Promise))((function(o,a){function i(t){try{c(r.next(t))}catch(t){a(t)}}function u(t){try{c(r.throw(t))}catch(t){a(t)}}function c(t){var n;t.done?o(t.value):(n=t.value,n instanceof e?n:new e((function(t){t(n)}))).then(i,u)}c((r=r.apply(t,n||[])).next())}))}function V(t,n){var e,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(u){return function(c){return function(u){if(e)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(i=0)),i;)try{if(e=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=n.call(t,i)}catch(t){u=[6,t],r=0}finally{e=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var B=null;function Y(t,n){J(t,"string"==typeof n?[n]:n)}function W(t,n,e,r){return void 0===n&&(n=null),void 0===e&&(e=null),void 0===r&&(r=null),L(this,void 0,void 0,(function(){var o,a;return V(this,(function(i){switch(i.label){case 0:return a={},[4,F(t)];case 1:return a.userId=i.sent(),a.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(v(u.substring(2),"*","*")):v(u,"*","*")),J("userId",[(o=a).userId]),J("userHint",[o.userHint]),J("userType",[K(t)]),n&&(J("sessionId",[n]),o.sessionId=n),e&&(J("pageId",[e]),o.pageId=e),[2,o]}var u}))}))}function J(t,n){if(Nn()&&t&&n&&"string"==typeof t&&t.length<255){for(var e=(t in B?B[t]:[]),r=0;r<n.length;r++)"string"==typeof n[r]&&n[r].length<255&&e.push(n[r]);B[t]=e}}function Z(){It(34)}function G(){B={}}function F(t){return L(this,void 0,void 0,(function(){var n;return V(this,(function(e){switch(e.label){case 0:return e.trys.push([0,4,,5]),crypto&&t?[4,crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t))]:[3,2];case 1:return n=e.sent(),[2,Array.prototype.map.call(new Uint8Array(n),(function(t){return("00"+t.toString(16)).slice(-2)})).join("")];case 2:return[2,""];case 3:return[3,5];case 4:return e.sent(),[2,""];case 5:return[2]}}))}))}function K(t){return t&&t.indexOf("@")>0?"email":"string"}var Q="CompressionStream"in window;function $(t){return L(this,void 0,void 0,(function(){var n,e;return V(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),Q?(n=new ReadableStream({start:function(n){return L(this,void 0,void 0,(function(){return V(this,(function(e){return n.enqueue(t),n.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),e=Uint8Array.bind,[4,tt(n)]):[3,2];case 1:return[2,new(e.apply(Uint8Array,[void 0,r.sent()]))];case 2:return[3,4];case 3:return r.sent(),[3,4];case 4:return[2,null]}}))}))}function tt(t){return L(this,void 0,void 0,(function(){var n,e,r,o,a;return V(this,(function(i){switch(i.label){case 0:n=t.getReader(),e=[],r=!1,o=[],i.label=1;case 1:return r?[3,3]:[4,n.read()];case 2:return a=i.sent(),r=a.done,o=a.value,r?[2,e]:(e.push.apply(e,o),[3,1]);case 3:return[2,e]}}))}))}var nt=null;function et(t){try{if(!nt)return;var n=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);n.forEach((function(t){nt(t)}))}catch(t){}}var rt=[S,e,Object.freeze({__proto__:null,compute:Z,get data(){return B},identify:W,reset:G,set:Y,start:function(){G()},stop:function(){G()}}),n,S,r,o,t,R,X,S];function ot(){M={},O={},T(5),rt.forEach((function(t){return hn(t.start)()}))}function at(){rt.slice().reverse().forEach((function(t){return hn(t.stop)()})),M={},O={}}function it(){Z(),Dt(),It(0),xt()}var ut,ct,st,lt,dt,pt,ft=0,ht=0,vt=null,gt=0,mt=!1;function yt(){lt=!0,ft=0,ht=0,mt=!1,gt=0,ut=[],ct=[],st={},dt=null}function bt(t,n){if(void 0===n&&(n=!0),lt){var e=c(),r=t.length>1?t[1]:null,o=JSON.stringify(t);switch(a.lean?!mt&&ht+o.length>10485760&&(mt=!0):mt=!1,r){case 5:if(mt)break;ft+=o.length;case 37:case 6:case 43:case 45:case 46:if(mt)break;ht+=o.length,ut.push(o);break;default:ct.push(o)}T(25);var i=function(){var t=!1===a.lean&&ft>0?100:cn.sequence*a.delay;return"string"==typeof a.upload?Math.max(Math.min(t,3e4),100):a.delay}();e-gt>2*i&&(A(vt),vt=null),n&&null===vt&&(25!==r&&N(),vt=z(kt,i),gt=e,Ot(ht))}}function wt(){A(vt),kt(!0),ft=0,ht=0,mt=!1,gt=0,ut=[],ct=[],st={},dt=null,lt=!1}function kt(t){return void 0===t&&(t=!1),L(this,void 0,void 0,(function(){var n,e,r,o,i,u,c,s;return V(this,(function(l){switch(l.label){case 0:return vt=null,(n=!1===a.lean&&ht>0&&(ht<1048576||cn.sequence>0))&&j(1,1),it(),e=!0===t,r=JSON.stringify(dn(e)),o="[".concat(ct.join(),"]"),i=n?"[".concat(ut.join(),"]"):"",u=function(t){return t.p.length>0?'{"e":'.concat(t.e,',"a":').concat(t.a,',"p":').concat(t.p,"}"):'{"e":'.concat(t.e,',"a":').concat(t.a,"}")}({e:r,a:o,p:i}),e?(s=null,[3,3]):[3,1];case 1:return[4,$(u)];case 2:s=l.sent(),l.label=3;case 3:return x(2,(c=s)?c.length:u.length),St(u,c,cn.sequence,e),ct=[],n&&(ut=[],ht=0,ft=0,mt=!1),[2]}}))}))}function St(t,n,e,r){if(void 0===r&&(r=!1),"string"==typeof a.upload){var o=a.upload,i=!1;if(r&&"sendBeacon"in navigator)try{(i=navigator.sendBeacon.bind(navigator)(o,t))&&Et(e)}catch(t){}if(!1===i){e in st?st[e].attempts++:st[e]={data:t,attempts:1};var u=new XMLHttpRequest;u.open("POST",o,!0),u.timeout=15e3,u.ontimeout=function(){fn(new Error("".concat("Timeout"," : ").concat(o)))},null!==e&&(u.onreadystatechange=function(){hn(_t)(u,e)}),u.withCredentials=!0,n?(u.setRequestHeader("Accept","application/x-clarity-gzip"),u.send(n)):u.send(t)}}else if(a.upload){(0,a.upload)(t),Et(e)}}function _t(t,n){var e=st[n];t&&4===t.readyState&&e&&((t.status<200||t.status>208)&&e.attempts<=1?t.status>=400&&t.status<500?Tt(6):(0===t.status&&(a.upload=a.fallback?a.fallback:a.upload),St(e.data,null,n)):(dt={sequence:n,attempts:e.attempts,status:t.status},e.attempts>1&&It(2),200===t.status&&t.responseText&&function(t){for(var n=t&&t.length>0?t.split("\n"):[],e=0,r=n;e<r.length;e++){var o=r[e],i=o&&o.length>0?o.split(/ (.*)/):[""];switch(i[0]){case"END":Tt(6);break;case"UPGRADE":U("Auto");break;case"ACTION":a.action&&i.length>1&&a.action(i[1]);break;case"EXTRACT":i.length>1&&i[1];break;case"SIGNAL":i.length>1&&et(i[1])}}}(t.responseText),0===t.status&&(St(e.data,null,n,!0),Tt(3)),t.status>=200&&t.status<=208&&Et(n),delete st[n]))}function Et(t){1===t&&(Kt(),Ft())}function It(t){var n=[c(),t];switch(t){case 4:var e=g;e&&((n=[e.time,e.event]).push(e.data.visible),n.push(e.data.docWidth),n.push(e.data.docHeight),n.push(e.data.screenWidth),n.push(e.data.screenHeight),n.push(e.data.scrollX),n.push(e.data.scrollY),n.push(e.data.pointerX),n.push(e.data.pointerY),n.push(e.data.activityTime),n.push(e.data.scrollTime),n.push(e.data.pointerTime),n.push(e.data.moveX),n.push(e.data.moveY),n.push(e.data.moveTime),n.push(e.data.downX),n.push(e.data.downY),n.push(e.data.downTime),n.push(e.data.upX),n.push(e.data.upY),n.push(e.data.upTime),n.push(e.data.pointerPrevX),n.push(e.data.pointerPrevY),n.push(e.data.pointerPrevTime),bt(n,!1));break;case 25:n.push(I.gap),bt(n);break;case 35:n.push(pt.check),bt(n,!1);break;case 3:n.push(H.key),bt(n);break;case 2:n.push(dt.sequence),n.push(dt.attempts),n.push(dt.status),bt(n,!1);break;case 24:_.key&&n.push(_.key),n.push(_.value),bt(n);break;case 34:var r=Object.keys(B);if(r.length>0){for(var o=0,a=r;o<a.length;o++){var i=a[o];n.push(i),n.push(B[i])}G(),bt(n,!1)}break;case 0:var u=Object.keys(O);if(u.length>0){for(var s=0,l=u;s<l.length;s++){var d=l[s],p=parseInt(d,10);n.push(p),n.push(Math.round(O[d]))}O={},bt(n,!1)}break;case 1:var f=Object.keys(At);if(f.length>0){for(var h=0,v=f;h<v.length;h++){var y=v[h];p=parseInt(y,10);n.push(p),n.push(At[y])}Rt(),bt(n,!1)}break;case 36:var w=Object.keys(m);if(w.length>0){for(var k=0,S=w;k<S.length;k++){var E=S[k];p=parseInt(E,10);n.push(p),n.push([].concat.apply([],m[E]))}bt(n,!1)}break;case 40:b.forEach((function(t){n.push(t);var e=[];for(var r in m[t]){var o=parseInt(r,10);e.push(o),e.push(m[t][r])}n.push(e)})),bt(n,!1)}}function Mt(){pt={check:0}}function Ot(t){if(0===pt.check){var n=pt.check;n=cn.sequence>=128?1:n,n=cn.pageNum>=128?7:n,n=c()>72e5?2:n,(n=t>10485760?2:n)!==pt.check&&Tt(n)}}function Tt(t){pt.check=t,5!==t&&(Gt(),ae())}function xt(){0!==pt.check&&It(35)}function jt(){pt=null}var zt=null,At=null,Ct=!1;function Pt(){zt={},At={},Ct=!1}function qt(){zt={},At={},Ct=!1}function Nt(t,n){if(n&&(n="".concat(n),t in zt||(zt[t]=[]),zt[t].indexOf(n)<0)){if(zt[t].length>128)return void(Ct||(Ct=!0,Tt(5)));zt[t].push(n),t in At||(At[t]=[]),At[t].push(n)}}function Dt(){It(1)}function Rt(){At={},Ct=!1}function Ht(t){Nt(36,t.toString())}var Ut=null,Xt=[],Lt=0,Vt=null;function Bt(){var t,n,e;Vt=null;var r=navigator&&"userAgent"in navigator?navigator.userAgent:"",o=null!==(e=null===(n=null===(t=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===t?void 0:t.resolvedOptions())||void 0===n?void 0:n.timeZone)&&void 0!==e?e:"",i=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=document&&document.title?document.title:"";Lt=r.indexOf("Electron")>0?1:0;var s,l=function(){var t={session:tn(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},n=rn("_clsk",!a.includeSubdomains);if(n){var e=n.includes("^")?n.split("^"):n.split("|");e.length>=5&&t.ts-nn(e[1])<18e5&&(t.session=e[0],t.count=nn(e[2])+1,t.upgrade=nn(e[3]),t.upload=e.length>=6?"".concat("https://").concat(e[5],"/").concat(e[4]):"".concat("https://").concat(e[4]))}return t}(),d=en(),p=a.projectId||function(t,n){void 0===n&&(n=null);for(var e,r=5381,o=r,a=0;a<t.length;a+=2)r=(r<<5)+r^t.charCodeAt(a),a+1<t.length&&(o=(o<<5)+o^t.charCodeAt(a+1));return e=Math.abs(r+11579*o),(n?e%Math.pow(2,n):e).toString(36)}(location.host);Ut={projectId:p,userId:d.id,sessionId:l.session,pageNum:l.count},a.lean=a.track&&null!==l.upgrade?0===l.upgrade:a.lean,a.upload=a.track&&"string"==typeof a.upload&&l.upload&&l.upload.length>"https://".length?l.upload:a.upload,Nt(0,r),Nt(3,c),Nt(1,h(location.href,!!Lt)),Nt(2,document.referrer),Nt(15,function(){var t=tn();if(a.track&&Qt(window,"sessionStorage")){var n=sessionStorage.getItem("_cltk");t=n||t,sessionStorage.setItem("_cltk",t)}return t}()),Nt(16,document.documentElement.lang),Nt(17,document.dir),Nt(26,"".concat(window.devicePixelRatio)),Nt(28,d.dob.toString()),Nt(29,d.version.toString()),Nt(33,u),Nt(34,o),Nt(35,i),j(0,l.ts),j(1,0),j(35,Lt),navigator&&(Nt(9,navigator.language),j(33,navigator.hardwareConcurrency),j(32,navigator.maxTouchPoints),j(34,Math.round(navigator.deviceMemory)),(s=navigator.userAgentData)&&s.getHighEntropyValues?s.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var n;Nt(22,t.platform),Nt(23,t.platformVersion),null===(n=t.brands)||void 0===n||n.forEach((function(t){Nt(24,t.name+"~"+t.version)})),Nt(25,t.model),j(27,t.mobile?1:0)})):Nt(22,navigator.platform)),screen&&(j(14,Math.round(screen.width)),j(15,Math.round(screen.height)),j(16,Math.round(screen.colorDepth)));for(var f=0,v=a.cookies;f<v.length;f++){var g=v[f],m=rn(g);m&&Y(g,m)}!function(t){Ht(t?1:0)}(a.track),$t(d)}function Yt(){Vt=null,Ut=null,Xt.forEach((function(t){t.called=!1}))}function Wt(t,n,e){void 0===n&&(n=!0),void 0===e&&(e=!1);var r=a.lean?0:1,o=!1;Ut&&(r||!1===n)&&(t(Ut,!a.lean),o=!0),!e&&o||Xt.push({callback:t,wait:n,recall:e,called:o})}function Jt(){return Ut?[Ut.userId,Ut.sessionId,Ut.pageNum].join("."):""}function Zt(t){if(void 0===t&&(t=!0),!t)return a.track=!1,an("_clsk","",-Number.MAX_VALUE),an("_clck","",-Number.MAX_VALUE),ae(),void window.setTimeout(oe,250);Nn()&&(a.track=!0,$t(en(),1),Kt(),Ht(2))}function Gt(){an("_clsk","",0)}function Ft(){!function(t){if(Xt.length>0)for(var n=0;n<Xt.length;n++){var e=Xt[n];!e.callback||e.called||e.wait&&!t||(e.callback(Ut,!a.lean),e.called=!0,e.recall||(Xt.splice(n,1),n--))}}(a.lean?0:1)}function Kt(){if(Ut&&a.track){var t=Math.round(Date.now()),n=a.upload&&"string"==typeof a.upload?a.upload.replace("https://",""):"",e=a.lean?0:1;an("_clsk",[Ut.sessionId,t,Ut.pageNum,e,n].join("|"),1)}}function Qt(t,n){try{return!!t[n]}catch(t){return!1}}function $t(t,n){void 0===n&&(n=null),n=null===n?t.consent:n;var e=Math.ceil((Date.now()+31536e6)/864e5),r=0===t.dob?null===a.dob?0:a.dob:t.dob;(null===t.expiry||Math.abs(e-t.expiry)>=1||t.consent!==n||t.dob!==r)&&an("_clck",[Ut.userId,2,e.toString(36),n,r].join("|"),365)}function tn(){var t=Math.floor(Math.random()*Math.pow(2,32));return window&&window.crypto&&window.crypto.getRandomValues&&Uint32Array&&(t=window.crypto.getRandomValues(new Uint32Array(1))[0]),t.toString(36)}function nn(t,n){return void 0===n&&(n=10),parseInt(t,n)}function en(){var t={id:tn(),version:0,expiry:null,consent:0,dob:0},n=rn("_clck",!a.includeSubdomains);if(n&&n.length>0){var e=n.includes("^")?n.split("^"):n.split("|");e.length>1&&(t.version=nn(e[1])),e.length>2&&(t.expiry=nn(e[2],36)),e.length>3&&1===nn(e[3])&&(t.consent=1),e.length>4&&nn(e[1])>1&&(t.dob=nn(e[4])),a.track=a.track||1===t.consent,t.id=a.track?e[0]:t.id}return t}function rn(t,n){var e;if(void 0===n&&(n=!1),Qt(document,"cookie")){var r=document.cookie.split(";");if(r)for(var o=0;o<r.length;o++){var a=r[o].split("=");if(a.length>1&&a[0]&&a[0].trim()===t){for(var i=on(a[1]),u=i[0],c=i[1];u;)u=(e=on(c))[0],c=e[1];return n?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function on(t){try{var n=decodeURIComponent(t);return[n!=t,n]}catch(t){}return[!1,t]}function an(t,n,e){if((a.track||""==n)&&(navigator&&navigator.cookieEnabled||Qt(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(n),o=new Date;o.setDate(o.getDate()+e);var i=o?"expires="+o.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(i).concat(";path=/");try{if(null===Vt){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(Vt=".".concat(c[s]).concat(Vt||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(Vt),rn(t)===n))return;Vt=""}}catch(t){Vt=""}document.cookie=Vt?"".concat(u).concat(";").concat("domain=").concat(Vt):u}}var un,cn=null;function sn(){var t=Ut;cn={version:s,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0,applicationPlatform:0,url:""}}function ln(){cn=null}function dn(t){return cn.start=cn.start+cn.duration,cn.duration=c()-cn.start,cn.sequence++,cn.upload=t&&"sendBeacon"in navigator?1:0,cn.end=t?1:0,cn.applicationPlatform=0,cn.url=h(location.href,!1,!0),[cn.version,cn.sequence,cn.start,cn.duration,cn.projectId,cn.userId,cn.sessionId,cn.pageNum,cn.upload,cn.end,cn.applicationPlatform,cn.url]}function pn(){un=[]}function fn(t){if(un&&-1===un.indexOf(t.message)){var n=a.report;if(n&&n.length>0){var e={v:cn.version,p:cn.projectId,u:cn.userId,s:cn.sessionId,n:cn.pageNum};t.message&&(e.m=t.message),t.stack&&(e.e=t.stack);var r=new XMLHttpRequest;r.open("POST",n,!0),r.send(JSON.stringify(e)),un.push(t.message)}}return t}function hn(t){return function(){var n=performance.now();try{t.apply(this,arguments)}catch(t){throw fn(t)}var e=performance.now()-n;x(4,e),e>30&&(T(7),j(6,e),"".concat(t.dn||t.name,"-").concat(e))}}var vn=new Map;function gn(t,n,e,r,o){void 0===r&&(r=!1),void 0===o&&(o=!0),e=hn(e);try{t[i("addEventListener")](n,e,{capture:r,passive:o}),function(t){return vn.has(t)}(t)||vn.set(t,[]),vn.get(t).push({event:n,listener:e,options:{capture:r,passive:o}})}catch(t){}}function mn(){vn.forEach((function(t,n){!function(t,n){t.forEach((function(t){try{n[i("removeEventListener")](t.event,t.listener,{capture:t.options.capture,passive:t.options.passive})}catch(t){}})),vn.delete(n)}(t,n)})),vn=new Map}var yn=null,bn=null,wn=null,kn=0;function Sn(){return!(kn++>20)}function _n(){_n.dn=1,kn=0,wn!==In()&&(ae(),window.setTimeout(En,250))}function En(){oe(),j(29,1)}function In(){return location.href?location.href.replace(location.hash,""):location.href}var Mn=[],On=null,Tn=null,xn=null;function jn(){Tn&&(xn(),Tn=null,null===On&&An())}function zn(){Mn=[],On=null,Tn=null}function An(){var t=Mn.shift();t&&(On=t,t.task().then((function(){t.id===Jt()&&(t.resolve(),On=null,An())})).catch((function(n){t.id===Jt()&&(n&&(n.name,n.message,n.stack),On=null,An())})))}var Cn=!1;function Pn(){Cn=!0,u=performance.now()+performance.timeOrigin,zn(),mn(),pn(),wn=In(),kn=0,gn(window,"popstate",_n),null===yn&&(yn=history.pushState,history.pushState=function(){yn.apply(this,arguments),Nn()&&Sn()&&_n()}),null===bn&&(bn=history.replaceState,history.replaceState=function(){bn.apply(this,arguments),Nn()&&Sn()&&_n()})}function qn(){wn=null,kn=0,pn(),mn(),zn(),u=0,Cn=!1}function Nn(){return Cn}function Dn(){Dn.dn=2,oe(),E("clarity","restart")}var Rn=null;function Hn(){Rn=null}function Un(t){Rn={fetchStart:Math.round(t.fetchStart),connectStart:Math.round(t.connectStart),connectEnd:Math.round(t.connectEnd),requestStart:Math.round(t.requestStart),responseStart:Math.round(t.responseStart),responseEnd:Math.round(t.responseEnd),domInteractive:Math.round(t.domInteractive),domComplete:Math.round(t.domComplete),loadEventStart:Math.round(t.loadEventStart),loadEventEnd:Math.round(t.loadEventEnd),redirectCount:Math.round(t.redirectCount),size:t.transferSize?t.transferSize:0,type:t.type,protocol:t.nextHopProtocol,encodedSize:t.encodedBodySize?t.encodedBodySize:0,decodedSize:t.decodedBodySize?t.decodedBodySize:0},function(t){L(this,void 0,void 0,(function(){var n,e;return V(this,(function(r){return n=c(),e=[n,t],29===t&&(e.push(Rn.fetchStart),e.push(Rn.connectStart),e.push(Rn.connectEnd),e.push(Rn.requestStart),e.push(Rn.responseStart),e.push(Rn.responseEnd),e.push(Rn.domInteractive),e.push(Rn.domComplete),e.push(Rn.loadEventStart),e.push(Rn.loadEventEnd),e.push(Rn.redirectCount),e.push(Rn.size),e.push(Rn.type),e.push(Rn.protocol),e.push(Rn.encodedSize),e.push(Rn.decodedSize),Hn(),bt(e)),[2]}))}))}(29)}var Xn,Ln=0,Vn=1/0,Bn=0,Yn=0,Wn=[],Jn=new Map,Zn=function(){return Ln||0},Gn=function(){if(!Wn.length)return-1;var t=Math.min(Wn.length-1,Math.floor((Zn()-Yn)/50));return Wn[t].latency},Fn=function(){Yn=Zn(),Wn.length=0,Jn.clear()},Kn=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?Ln=performance.interactionCount:t.interactionId&&(Vn=Math.min(Vn,t.interactionId),Bn=Math.max(Bn,t.interactionId),Ln=Bn?(Bn-Vn)/7+1:0)}(t);var n=Wn[Wn.length-1],e=Jn.get(t.interactionId);if(e||Wn.length<10||t.duration>(null==n?void 0:n.latency)){if(e)t.duration>e.latency&&(e.latency=t.duration);else{var r={id:t.interactionId,latency:t.duration};Jn.set(r.id,r),Wn.push(r)}Wn.sort((function(t,n){return n.latency-t.latency})),Wn.length>10&&Wn.splice(10).forEach((function(t){return Jn.delete(t.id)}))}}},Qn=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function $n(){$n.dn=26;try{Xn&&Xn.disconnect(),Xn=new PerformanceObserver(hn(te));for(var t=0,n=Qn;t<n.length;t++){var e=n[t];PerformanceObserver.supportedEntryTypes.indexOf(e)>=0&&("layout-shift"===e&&x(9,0),Xn.observe({type:e,buffered:!0}))}}catch(t){}}function te(t){te.dn=27,function(t){for(var n=(!("visibilityState"in document)||"visible"===document.visibilityState),e=0;e<t.length;e++){var r=t[e];switch(r.entryType){case"navigation":Un(r);break;case"resource":var o=r.name;Nt(4,ne(o)),o!==a.upload&&o!==a.fallback||j(28,r.duration);break;case"longtask":T(7);break;case"first-input":n&&j(10,r.processingStart-r.startTime);break;case"event":n&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(Kn(r),Nt(37,Gn().toString()));break;case"layout-shift":n&&!r.hadRecentInput&&x(9,1e3*r.value);break;case"largest-contentful-paint":n&&j(8,r.startTime)}}}(t.getEntries())}function ne(t){var n=document.createElement("a");return n.href=t,n.host}var ee=Object.freeze({__proto__:null,start:function t(){t.dn=25,Hn(),function(){navigator&&"connection"in navigator&&Nt(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?gn(window,"load",z.bind(this,$n,0)):$n())}()},stop:function(){Xn&&Xn.disconnect(),Xn=null,Fn(),Hn()}}),re=[S,S,S,ee];function oe(t){void 0===t&&(t=null),function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===Cn&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()&&(!function(t){if(null===t||Cn)return!1;for(var n in t)n in a&&(a[n]=t[n])}(t),Pn(),ot(),re.forEach((function(t){return hn(t.start)()})),null===t&&se())}function ae(){Nn()&&(re.slice().reverse().forEach((function(t){return hn(t.stop)()})),at(),qn(),void 0!==ue&&(ue[ce]=function(){(ue[ce].q=ue[ce].q||[]).push(arguments),"start"===arguments[0]&&ue[ce].q.unshift(ue[ce].q.pop())&&se()}))}var ie=Object.freeze({__proto__:null,consent:Zt,event:E,hashText:w,identify:W,metadata:Wt,pause:function(){Nn()&&(E("clarity","pause"),null===Tn&&(Tn=new Promise((function(t){xn=t}))))},resume:function(){Nn()&&(jn(),E("clarity","resume"))},set:Y,signal:function(t){nt=t},start:oe,stop:ae,upgrade:U,version:s}),ue=window,ce="clarity";function se(){if(void 0!==ue){if(ue[ce]&&ue[ce].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=ue[ce]&&ue[ce].q||[];for(ue[ce]=function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return ie[t].apply(ie,n)},ue[ce].v=s;t.length>0;)ue[ce].apply(ue,t.shift())}}se()}();
|
|
1
|
+
!function(){"use strict";var t=Object.freeze({__proto__:null,get queue(){return bt},get start(){return yt},get stop(){return wt},get track(){return dt}}),n=Object.freeze({__proto__:null,get check(){return Tt},get compute(){return xt},get data(){return pt},get start(){return Ot},get stop(){return jt},get trigger(){return Et}}),e=Object.freeze({__proto__:null,get compute(){return Dt},get data(){return Nt},get log(){return qt},get reset(){return Rt},get start(){return Ct},get stop(){return Pt},get updates(){return zt}}),r=Object.freeze({__proto__:null,get callback(){return Gt},get callbacks(){return Xt},get clear(){return Ft},get consent(){return Zt},get data(){return Ut},get electron(){return Vt},get id(){return Jt},get metadata(){return Wt},get save(){return Kt},get shortid(){return tn},get start(){return Bt},get stop(){return Yt}}),a=Object.freeze({__proto__:null,get data(){return cn},get envelope(){return dn},get start(){return sn},get stop(){return ln}}),o={projectId:null,delay:1e3,lean:!1,lite:!1,track:!0,content:!0,drop:[],mask:[],unmask:[],regions:[],cookies:[],fraud:!0,checksum:[],report:null,upload:null,fallback:null,upgrade:null,action:null,dob:null,delayDom:!1,throttleDom:!0,conversions:!1,includeSubdomains:!0},i=[],u=null;function c(){}var s=[];function l(){}function d(){}var p=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:u,hashText:l,keys:s,log:c,observe:function(){},reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:i,stop:function(){},trigger:d});function f(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var h=255,v=!0,g=null,m=null;function y(t,n,e){void 0===n&&(n=!1),void 0===e&&(e=!1);var r=t;if(n)r="".concat("https://").concat("Electron");else{var a=o.drop;if(a&&a.length>0&&t&&t.indexOf("?")>0){var i=t.split("?"),u=i[0],c=i[1];r="".concat(u,"?").concat(c.split("&").map((function(t){return a.some((function(n){return 0===t.indexOf("".concat(n,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&"))}}return e&&(r=r.substring(0,h)),r}function b(t,n,e){return function(){if(v&&null===g)try{g=/\p{N}/gu,m=/\p{L}/gu}catch(t){v=!1}}(),t?t.replace(m,n).replace(g,e):t}var w=0;function k(t){void 0===t&&(t=null);var n=t&&t.timeStamp>0?t.timeStamp:performance.now(),e=t&&t.view?t.view.performance.timeOrigin:performance.timeOrigin;return Math.max(Math.round(n+e-w),0)}var S="0.8.12";var _=null;function I(t,n){qn()&&t&&"string"==typeof t&&t.length<255&&(_=n&&"string"==typeof n&&n.length<255?{key:t,value:n}:{value:t},Mt(24))}var M,O=null,T=null;function E(t){t in O||(O[t]=0),t in T||(T[t]=0),O[t]++,T[t]++}function x(t,n){null!==n&&(t in O||(O[t]=0),t in T||(T[t]=0),O[t]+=n,T[t]+=n)}function j(t,n){null!==n&&!1===Number.isNaN(n)&&(t in O||(O[t]=0),(n>O[t]||0===O[t])&&(T[t]=n,O[t]=n))}function N(t,n,e){return window.setTimeout(hn(t),n,e)}function z(t){window.clearTimeout(t)}var A=0,C=0,P=null;function q(){P&&z(P),P=N(D,C),A=k()}function D(){var t=k();M={gap:t-A},Mt(25),M.gap<3e5?P=N(D,C):function(){if(An){I("clarity","suspend"),oe();for(var t=0,n=["mousemove","touchstart"];t<n.length;t++){var e=n[t];gn(document,e,Dn)}for(var r=0,a=["resize","scroll","pageshow"];r<a.length;r++){e=a[r];gn(window,e,Dn)}}}()}var R=Object.freeze({__proto__:null,get data(){return M},reset:q,start:function(){C=6e4,A=0},stop:function(){z(P),A=0,C=0}}),H=null;function U(t){qn()&&o.lean&&(o.lean=!1,H={key:t},Gt(),Kt(),o.upgrade&&o.upgrade(t),Mt(3),o.lite)}var X=Object.freeze({__proto__:null,get data(){return H},start:function(){!o.lean&&o.upgrade&&o.upgrade("Config"),H=null},stop:function(){H=null},upgrade:U});function V(t,n,e,r){return new(e||(e=Promise))((function(a,o){function i(t){try{c(r.next(t))}catch(t){o(t)}}function u(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var n;t.done?a(t.value):(n=t.value,n instanceof e?n:new e((function(t){t(n)}))).then(i,u)}c((r=r.apply(t,n||[])).next())}))}function L(t,n){var e,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(c){return function(u){if(e)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(i=0)),i;)try{if(e=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){i.label=u[1];break}if(6===u[0]&&i.label<a[1]){i.label=a[1],a=u;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(u);break}a[2]&&i.ops.pop(),i.trys.pop();continue}u=n.call(t,i)}catch(t){u=[6,t],r=0}finally{e=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var B=null;function Y(t,n){J(t,"string"==typeof n?[n]:n)}function W(t,n,e,r){return void 0===n&&(n=null),void 0===e&&(e=null),void 0===r&&(r=null),V(this,void 0,void 0,(function(){var a,o;return L(this,(function(i){switch(i.label){case 0:return o={},[4,G(t)];case 1:return o.userId=i.sent(),o.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(b(u.substring(2),"*","*")):b(u,"*","*")),J("userId",[(a=o).userId]),J("userHint",[a.userHint]),J("userType",[K(t)]),n&&(J("sessionId",[n]),a.sessionId=n),e&&(J("pageId",[e]),a.pageId=e),[2,a]}var u}))}))}function J(t,n){if(qn()&&t&&n&&"string"==typeof t&&t.length<255){for(var e=(t in B?B[t]:[]),r=0;r<n.length;r++)"string"==typeof n[r]&&n[r].length<255&&e.push(n[r]);B[t]=e}}function Z(){Mt(34)}function F(){B={}}function G(t){return V(this,void 0,void 0,(function(){var n;return L(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),crypto&&t?[4,crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t))]:[3,2];case 1:return n=e.sent(),[2,Array.prototype.map.call(new Uint8Array(n),(function(t){return"00".concat(t.toString(16)).slice(-2)})).join("")];case 2:return[2,""];case 3:return e.sent(),[2,""];case 4:return[2]}}))}))}function K(t){return t&&t.indexOf("@")>0?"email":"string"}var Q="CompressionStream"in window;function $(t){return V(this,void 0,void 0,(function(){var n,e;return L(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),Q?(n=new ReadableStream({start:function(n){return V(this,void 0,void 0,(function(){return L(this,(function(e){return n.enqueue(t),n.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),e=Uint8Array.bind,[4,tt(n)]):[3,2];case 1:return[2,new(e.apply(Uint8Array,[void 0,r.sent()]))];case 2:return[3,4];case 3:return r.sent(),[3,4];case 4:return[2,null]}}))}))}function tt(t){return V(this,void 0,void 0,(function(){var n,e,r,a,o;return L(this,(function(i){switch(i.label){case 0:n=t.getReader(),e=[],r=!1,a=[],i.label=1;case 1:return r?[3,3]:[4,n.read()];case 2:return o=i.sent(),r=o.done,a=o.value,r?[2,e]:(e.push.apply(e,a),[3,1]);case 3:return[2,e]}}))}))}var nt=null;function et(t){try{if(!nt)return;for(var n=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t),e=0,r=n;e<r.length;e++){var a=r[e];nt(a)}}catch(t){}}var rt=[p,e,Object.freeze({__proto__:null,compute:Z,get data(){return B},identify:W,reset:F,set:Y,start:function(){F()},stop:function(){F()}}),n,p,r,a,t,R,X,p];function at(){O={},T={},E(5);for(var t=0,n=rt;t<n.length;t++){hn(n[t].start)()}}function ot(){for(var t=0,n=rt.slice().reverse();t<n.length;t++){hn(n[t].stop)()}O={},T={}}function it(){Z(),Dt(),Mt(0),xt()}var ut,ct,st,lt,dt,pt,ft=0,ht=0,vt=null,gt=0,mt=!1;function yt(){lt=!0,ft=0,ht=0,mt=!1,gt=0,ut=[],ct=[],st={},dt=null}function bt(t,n){if(void 0===n&&(n=!0),lt){var e=k(),r=t.length>1?t[1]:null,a=JSON.stringify(t);switch(o.lean?!mt&&ht+a.length>10485760&&(mt=!0):mt=!1,r){case 5:if(mt)break;ft+=a.length;case 37:case 6:case 43:case 45:case 46:if(mt)break;ht+=a.length,ut.push(a);break;default:ct.push(a)}E(25);var i=function(){var t=!1===o.lean&&ft>0?100:cn.sequence*o.delay;return"string"==typeof o.upload?Math.max(Math.min(t,3e4),100):o.delay}();e-gt>2*i&&(z(vt),vt=null),n&&null===vt&&(25!==r&&q(),vt=N(kt,i),gt=e,Tt(ht))}}function wt(){z(vt),kt(!0),ft=0,ht=0,mt=!1,gt=0,ut=[],ct=[],st={},dt=null,lt=!1}function kt(t){return void 0===t&&(t=!1),V(this,void 0,void 0,(function(){var n,e,r,a,i,u,c,s;return L(this,(function(l){switch(l.label){case 0:return vt=null,(n=!1===o.lean&&ht>0&&(ht<1048576||cn.sequence>0))&&j(1,1),it(),e=!0===t,r=JSON.stringify(dn(e)),a="[".concat(ct.join(),"]"),i=n?"[".concat(ut.join(),"]"):"",u=function(t){return t.p.length>0?'{"e":'.concat(t.e,',"a":').concat(t.a,',"p":').concat(t.p,"}"):'{"e":'.concat(t.e,',"a":').concat(t.a,"}")}({e:r,a:a,p:i}),e?(s=null,[3,3]):[3,1];case 1:return[4,$(u)];case 2:s=l.sent(),l.label=3;case 3:return x(2,(c=s)?c.length:u.length),St(u,c,cn.sequence,e),ct=[],n&&(ut=[],ht=0,ft=0,mt=!1),[2]}}))}))}function St(t,n,e,r){if(void 0===r&&(r=!1),"string"==typeof o.upload){var a=o.upload,i=!1;if(r&&"sendBeacon"in navigator)try{(i=navigator.sendBeacon.bind(navigator)(a,t))&&It(e)}catch(t){}if(!1===i){e in st?st[e].attempts++:st[e]={data:t,attempts:1};var u=new XMLHttpRequest;u.open("POST",a,!0),u.timeout=15e3,u.ontimeout=function(){fn(new Error("".concat("Timeout"," : ").concat(a)))},null!==e&&(u.onreadystatechange=function(){hn(_t)(u,e)}),u.withCredentials=!0,n?(u.setRequestHeader("Accept","application/x-clarity-gzip"),u.send(n)):u.send(t)}}else if(o.upload){(0,o.upload)(t),It(e)}}function _t(t,n){var e=st[n];t&&4===t.readyState&&e&&((t.status<200||t.status>208)&&e.attempts<=1?t.status>=400&&t.status<500?Et(6):(0===t.status&&(o.upload=o.fallback?o.fallback:o.upload),St(e.data,null,n)):(dt={sequence:n,attempts:e.attempts,status:t.status},e.attempts>1&&Mt(2),200===t.status&&t.responseText&&function(t){for(var n=t&&t.length>0?t.split("\n"):[],e=0,r=n;e<r.length;e++){var a=r[e],i=a&&a.length>0?a.split(/ (.*)/):[""];switch(i[0]){case"END":Et(6);break;case"UPGRADE":U("Auto");break;case"ACTION":o.action&&i.length>1&&o.action(i[1]);break;case"EXTRACT":i.length>1&&i[1];break;case"SIGNAL":i.length>1&&et(i[1])}}}(t.responseText),0===t.status&&(St(e.data,null,n,!0),Et(3)),t.status>=200&&t.status<=208&&It(n),delete st[n]))}function It(t){1===t&&(Kt(),Gt())}function Mt(t){var n=[k(),t];switch(t){case 4:var e=i;e&&((n=[e.time,e.event]).push(e.data.visible),n.push(e.data.docWidth),n.push(e.data.docHeight),n.push(e.data.screenWidth),n.push(e.data.screenHeight),n.push(e.data.scrollX),n.push(e.data.scrollY),n.push(e.data.pointerX),n.push(e.data.pointerY),n.push(e.data.activityTime),n.push(e.data.scrollTime),n.push(e.data.pointerTime),n.push(e.data.moveX),n.push(e.data.moveY),n.push(e.data.moveTime),n.push(e.data.downX),n.push(e.data.downY),n.push(e.data.downTime),n.push(e.data.upX),n.push(e.data.upY),n.push(e.data.upTime),n.push(e.data.pointerPrevX),n.push(e.data.pointerPrevY),n.push(e.data.pointerPrevTime),bt(n,!1));break;case 25:n.push(M.gap),bt(n);break;case 35:n.push(pt.check),bt(n,!1);break;case 3:n.push(H.key),bt(n);break;case 2:n.push(dt.sequence),n.push(dt.attempts),n.push(dt.status),bt(n,!1);break;case 24:_.key&&n.push(_.key),n.push(_.value),bt(n);break;case 34:var r=Object.keys(B);if(r.length>0){for(var a=0,o=r;a<o.length;a++){var c=o[a];n.push(c),n.push(B[c])}F(),bt(n,!1)}break;case 0:var l=Object.keys(T);if(l.length>0){for(var d=0,p=l;d<p.length;d++){var f=p[d],h=Number.parseInt(f,10);n.push(h),n.push(Math.round(T[f]))}T={},bt(n,!1)}break;case 1:var v=Object.keys(zt);if(v.length>0){for(var g=0,m=v;g<m.length;g++){var y=m[g];h=Number.parseInt(y,10);n.push(h),n.push(zt[y])}Rt(),bt(n,!1)}break;case 36:var b=Object.keys(u);if(b.length>0){for(var w=0,S=b;w<S.length;w++){var I=S[w];h=Number.parseInt(I,10);n.push(h),n.push([].concat.apply([],u[I]))}bt(n,!1)}break;case 40:for(var O=s,E=0,x=Array.from(O);E<x.length;E++){I=x[E];n.push(I);var j=[];for(var y in u[I]){h=Number.parseInt(y,10);j.push(h),j.push(u[I][y])}n.push(j)}bt(n,!1)}}function Ot(){pt={check:0}}function Tt(t){if(0===pt.check){var n=pt.check;n=cn.sequence>=128?1:n,n=cn.pageNum>=128?7:n,n=k()>72e5?2:n,(n=t>10485760?2:n)!==pt.check&&Et(n)}}function Et(t){pt.check=t,5!==t&&(Ft(),oe())}function xt(){0!==pt.check&&Mt(35)}function jt(){pt=null}var Nt=null,zt=null,At=!1;function Ct(){Nt={},zt={},At=!1}function Pt(){Nt={},zt={},At=!1}function qt(t,n){if(n){var e="".concat(n);if(t in Nt||(Nt[t]=[]),Nt[t].indexOf(e)<0){if(Nt[t].length>128)return void(At||(At=!0,Et(5)));Nt[t].push(e),t in zt||(zt[t]=[]),zt[t].push(e)}}}function Dt(){Mt(1)}function Rt(){zt={},At=!1}function Ht(t){qt(36,t.toString())}var Ut=null,Xt=[],Vt=0,Lt=null;function Bt(){var t,n,e;Lt=null;var r=navigator&&"userAgent"in navigator?navigator.userAgent:"",a=null!==(e=null===(n=null===(t=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===t?void 0:t.resolvedOptions())||void 0===n?void 0:n.timeZone)&&void 0!==e?e:"",i=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=(null===document||void 0===document?void 0:document.title)?document.title:"";Vt=r.indexOf("Electron")>0?1:0;var s,l=function(){var t={session:tn(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},n=rn("_clsk",!o.includeSubdomains);if(n){var e=n.includes("^")?n.split("^"):n.split("|");e.length>=5&&t.ts-nn(e[1])<18e5&&(t.session=e[0],t.count=nn(e[2])+1,t.upgrade=nn(e[3]),t.upload=e.length>=6?"".concat("https://").concat(e[5],"/").concat(e[4]):"".concat("https://").concat(e[4]))}return t}(),d=en(),p=o.projectId||function(t,n){void 0===n&&(n=null);for(var e,r=5381,a=r,o=0;o<t.length;o+=2)r=(r<<5)+r^t.charCodeAt(o),o+1<t.length&&(a=(a<<5)+a^t.charCodeAt(o+1));return e=Math.abs(r+11579*a),(n?e%Math.pow(2,n):e).toString(36)}(location.host);Ut={projectId:p,userId:d.id,sessionId:l.session,pageNum:l.count},o.lean=o.track&&null!==l.upgrade?0===l.upgrade:o.lean,o.upload=o.track&&"string"==typeof o.upload&&l.upload&&l.upload.length>8?l.upload:o.upload,qt(0,r),qt(3,c),qt(1,y(location.href,!!Vt)),qt(2,document.referrer),qt(15,function(){var t=tn();if(o.track&&Qt(window,"sessionStorage")){var n=sessionStorage.getItem("_cltk");t=n||t,sessionStorage.setItem("_cltk",t)}return t}()),qt(16,document.documentElement.lang),qt(17,document.dir),qt(26,"".concat(window.devicePixelRatio)),qt(28,d.dob.toString()),qt(29,d.version.toString()),qt(33,u),qt(34,a),qt(35,i),j(0,l.ts),j(1,0),j(35,Vt),navigator&&(qt(9,navigator.language),j(33,navigator.hardwareConcurrency),j(32,navigator.maxTouchPoints),j(34,Math.round(navigator.deviceMemory)),(null==(s=navigator.userAgentData)?void 0:s.getHighEntropyValues)?s.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){if(qt(22,t.platform),qt(23,t.platformVersion),t.brands)for(var n=0,e=t.brands;n<e.length;n++){var r=e[n];qt(24,r.name+"~"+r.version)}qt(25,t.model),j(27,t.mobile?1:0)})):qt(22,navigator.platform)),screen&&(j(14,Math.round(screen.width)),j(15,Math.round(screen.height)),j(16,Math.round(screen.colorDepth)));for(var f=0,h=o.cookies;f<h.length;f++){var v=h[f],g=rn(v);g&&Y(v,g)}!function(t){Ht(t?1:0)}(o.track),$t(d)}function Yt(){Lt=null,Ut=null;for(var t=0,n=Xt;t<n.length;t++){n[t].called=!1}}function Wt(t,n,e){void 0===n&&(n=!0),void 0===e&&(e=!1);var r=o.lean?0:1,a=!1;Ut&&(r||!1===n)&&(t(Ut,!o.lean),a=!0),!e&&a||Xt.push({callback:t,wait:n,recall:e,called:a})}function Jt(){return Ut?[Ut.userId,Ut.sessionId,Ut.pageNum].join("."):""}function Zt(t){if(void 0===t&&(t=!0),!t)return o.track=!1,on("_clsk","",-Number.MAX_VALUE),on("_clck","",-Number.MAX_VALUE),oe(),void window.setTimeout(ae,250);qn()&&(o.track=!0,$t(en(),1),Kt(),Ht(2))}function Ft(){on("_clsk","",0)}function Gt(){!function(t){if(Xt.length>0)for(var n=0;n<Xt.length;n++){var e=Xt[n];!e.callback||e.called||e.wait&&!t||(e.callback(Ut,!o.lean),e.called=!0,e.recall||(Xt.splice(n,1),n--))}}(o.lean?0:1)}function Kt(){if(Ut&&o.track){var t=Math.round(Date.now()),n=o.upload&&"string"==typeof o.upload?o.upload.replace("https://",""):"",e=o.lean?0:1;on("_clsk",[Ut.sessionId,t,Ut.pageNum,e,n].join("|"),1)}}function Qt(t,n){try{return!!t[n]}catch(t){return!1}}function $t(t,n){void 0===n&&(n=null);var e=null===n?t.consent:n,r=Math.ceil((Date.now()+31536e6)/864e5),a=0===t.dob?null===o.dob?0:o.dob:t.dob;(null===t.expiry||Math.abs(r-t.expiry)>=1||t.consent!==e||t.dob!==a)&&on("_clck",[Ut.userId,2,r.toString(36),e,a].join("|"),365)}function tn(){var t,n=Math.floor(Math.random()*Math.pow(2,32));return(null===(t=null===window||void 0===window?void 0:window.crypto)||void 0===t?void 0:t.getRandomValues)&&Uint32Array&&(n=window.crypto.getRandomValues(new Uint32Array(1))[0]),n.toString(36)}function nn(t,n){return void 0===n&&(n=10),Number.parseInt(t,n)}function en(){var t={id:tn(),version:0,expiry:null,consent:0,dob:0},n=rn("_clck",!o.includeSubdomains);if(n&&n.length>0){var e=n.includes("^")?n.split("^"):n.split("|");e.length>1&&(t.version=nn(e[1])),e.length>2&&(t.expiry=nn(e[2],36)),e.length>3&&1===nn(e[3])&&(t.consent=1),e.length>4&&nn(e[1])>1&&(t.dob=nn(e[4])),o.track=o.track||1===t.consent,t.id=o.track?e[0]:t.id}return t}function rn(t,n){var e;if(void 0===n&&(n=!1),Qt(document,"cookie")){var r=document.cookie.split(";");if(r)for(var a=0;a<r.length;a++){var o=r[a].split("=");if(o.length>1&&o[0]&&o[0].trim()===t){for(var i=an(o[1]),u=i[0],c=i[1];u;)u=(e=an(c))[0],c=e[1];return n?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function an(t){try{var n=decodeURIComponent(t);return[n!==t,n]}catch(t){}return[!1,t]}function on(t,n,e){if((o.track||""===n)&&((null===navigator||void 0===navigator?void 0:navigator.cookieEnabled)||Qt(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(n),a=new Date;a.setDate(a.getDate()+e);var i=a?"expires="+a.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(i).concat(";path=/");try{if(null===Lt){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(Lt=".".concat(c[s]).concat(Lt||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(Lt),rn(t)===n))return;Lt=""}}catch(t){Lt=""}document.cookie=Lt?"".concat(u).concat(";").concat("domain=").concat(Lt):u}}var un,cn=null;function sn(){var t=Ut;cn={version:S,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0,applicationPlatform:0,url:""}}function ln(){cn=null}function dn(t){return cn.start=cn.start+cn.duration,cn.duration=k()-cn.start,cn.sequence++,cn.upload=t&&"sendBeacon"in navigator?1:0,cn.end=t?1:0,cn.applicationPlatform=0,cn.url=y(location.href,!1,!0),[cn.version,cn.sequence,cn.start,cn.duration,cn.projectId,cn.userId,cn.sessionId,cn.pageNum,cn.upload,cn.end,cn.applicationPlatform,cn.url]}function pn(){un=[]}function fn(t){if(un&&-1===un.indexOf(t.message)){var n=o.report;if(n&&n.length>0){var e={v:cn.version,p:cn.projectId,u:cn.userId,s:cn.sessionId,n:cn.pageNum};t.message&&(e.m=t.message),t.stack&&(e.e=t.stack);var r=new XMLHttpRequest;r.open("POST",n,!0),r.send(JSON.stringify(e)),un.push(t.message)}}return t}function hn(t){return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var r=performance.now();try{t.apply(this,n)}catch(t){throw fn(t)}var a=performance.now()-r;x(4,a),a>30&&(E(7),j(6,a),"".concat(t.dn||t.name,"-").concat(a))}}var vn=new Map;function gn(t,n,e,r,a){void 0===r&&(r=!1),void 0===a&&(a=!0),e=hn(e);try{t[f("addEventListener")](n,e,{capture:r,passive:a}),function(t){return vn.has(t)}(t)||vn.set(t,[]),vn.get(t).push({event:n,listener:e,options:{capture:r,passive:a}})}catch(t){}}function mn(){vn.forEach((function(t,n){!function(t,n){for(var e=0,r=t;e<r.length;e++){var a=r[e];try{n[f("removeEventListener")](a.event,a.listener,{capture:a.options.capture,passive:a.options.passive})}catch(t){}}vn.delete(n)}(t,n)})),vn=new Map}var yn=null,bn=null,wn=null,kn=0;function Sn(){return!(kn++>20)}function _n(){_n.dn=1,kn=0,wn!==Mn()&&(oe(),window.setTimeout(In,250))}function In(){ae(),j(29,1)}function Mn(){return location.href?location.href.replace(location.hash,""):location.href}var On=[],Tn=null,En=null,xn=null;function jn(){En&&(xn(),En=null,null===Tn&&zn())}function Nn(){On=[],Tn=null,En=null}function zn(){var t=On.shift();t&&(Tn=t,t.task().then((function(){t.id===Jt()&&(t.resolve(),Tn=null,zn())})).catch((function(n){t.id===Jt()&&(n&&(n.name,n.message,n.stack),Tn=null,zn())})))}var An=!1;function Cn(){An=!0,w=performance.now()+performance.timeOrigin,Nn(),mn(),pn(),wn=Mn(),kn=0,gn(window,"popstate",_n),null===yn&&(yn=history.pushState,history.pushState=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];yn.apply(this,t),qn()&&Sn()&&_n()}),null===bn&&(bn=history.replaceState,history.replaceState=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];bn.apply(this,t),qn()&&Sn()&&_n()})}function Pn(){wn=null,kn=0,pn(),mn(),Nn(),w=0,An=!1}function qn(){return An}function Dn(){Dn.dn=2,ae(),I("clarity","restart")}var Rn=null;function Hn(){Rn=null}function Un(t){Rn={fetchStart:Math.round(t.fetchStart),connectStart:Math.round(t.connectStart),connectEnd:Math.round(t.connectEnd),requestStart:Math.round(t.requestStart),responseStart:Math.round(t.responseStart),responseEnd:Math.round(t.responseEnd),domInteractive:Math.round(t.domInteractive),domComplete:Math.round(t.domComplete),loadEventStart:Math.round(t.loadEventStart),loadEventEnd:Math.round(t.loadEventEnd),redirectCount:Math.round(t.redirectCount),size:t.transferSize?t.transferSize:0,type:t.type,protocol:t.nextHopProtocol,encodedSize:t.encodedBodySize?t.encodedBodySize:0,decodedSize:t.decodedBodySize?t.decodedBodySize:0},function(t){V(this,void 0,void 0,(function(){var n,e;return L(this,(function(r){return n=k(),e=[n,t],29===t&&(e.push(Rn.fetchStart),e.push(Rn.connectStart),e.push(Rn.connectEnd),e.push(Rn.requestStart),e.push(Rn.responseStart),e.push(Rn.responseEnd),e.push(Rn.domInteractive),e.push(Rn.domComplete),e.push(Rn.loadEventStart),e.push(Rn.loadEventEnd),e.push(Rn.redirectCount),e.push(Rn.size),e.push(Rn.type),e.push(Rn.protocol),e.push(Rn.encodedSize),e.push(Rn.decodedSize),Hn(),bt(e)),[2]}))}))}(29)}var Xn,Vn=0,Ln=Number.POSITIVE_INFINITY,Bn=0,Yn=0,Wn=[],Jn=new Map,Zn=function(){return Vn||0},Fn=function(){if(!Wn.length)return-1;var t=Math.min(Wn.length-1,Math.floor((Zn()-Yn)/50));return Wn[t].latency},Gn=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?Vn=performance.interactionCount:t.interactionId&&(Ln=Math.min(Ln,t.interactionId),Bn=Math.max(Bn,t.interactionId),Vn=Bn?(Bn-Ln)/7+1:0)}(t);var n=Wn[Wn.length-1],e=Jn.get(t.interactionId);if(e||Wn.length<10||t.duration>(null==n?void 0:n.latency)){if(e)t.duration>e.latency&&(e.latency=t.duration);else{var r={id:t.interactionId,latency:t.duration};Jn.set(r.id,r),Wn.push(r)}if(Wn.sort((function(t,n){return n.latency-t.latency})),Wn.length>10)for(var a=0,o=Wn.splice(10);a<o.length;a++){var i=o[a];Jn.delete(i.id)}}}},Kn=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function Qn(){Qn.dn=26;try{Xn&&Xn.disconnect(),Xn=new PerformanceObserver(hn($n));for(var t=0,n=Kn;t<n.length;t++){var e=n[t];PerformanceObserver.supportedEntryTypes.indexOf(e)>=0&&("layout-shift"===e&&x(9,0),Xn.observe({type:e,buffered:!0}))}}catch(t){}}function $n(t){$n.dn=27,function(t){for(var n=(!("visibilityState"in document)||"visible"===document.visibilityState),e=0;e<t.length;e++){var r=t[e];switch(r.entryType){case"navigation":Un(r);break;case"resource":var a=r.name;qt(4,ne(a)),a!==o.upload&&a!==o.fallback||j(28,r.duration);break;case"longtask":E(7);break;case"first-input":n&&r.processingStart&&j(10,r.processingStart-r.startTime);break;case"event":n&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(Gn(r),qt(37,Fn().toString()));break;case"layout-shift":n&&!r.hadRecentInput&&x(9,1e3*r.value);break;case"largest-contentful-paint":n&&j(8,r.startTime)}}}(t.getEntries())}function te(){Xn&&Xn.disconnect(),Xn=null,Yn=Zn(),Wn.length=0,Jn.clear()}function ne(t){var n=document.createElement("a");return n.href=t,n.host}var ee=Object.freeze({__proto__:null,start:function t(){t.dn=25,Hn(),function(){navigator&&"connection"in navigator&&qt(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?gn(window,"load",N.bind(this,Qn,0)):Qn())}()},stop:function(){te(),Hn()}}),re=[p,p,p,ee];function ae(t){if(void 0===t&&(t=null),function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&!0===navigator.globalPrivacyControl;return!1===An&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()){!function(t){if(null===t||An)return!1;for(var n in t)n in o&&(o[n]=t[n])}(t),Cn(),at();for(var n=0,e=re;n<e.length;n++){hn(e[n].start)()}null===t&&se()}}function oe(){if(qn()){for(var t=0,n=re.slice().reverse();t<n.length;t++){hn(n[t].stop)()}ot(),Pn(),void 0!==ue&&(ue[ce]=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];ue[ce].q||(ue[ce].q=[]),ue[ce].q.push(t),"start"===t[0]&&ue[ce].q.unshift(ue[ce].q.pop())&&se()})}}var ie=Object.freeze({__proto__:null,consent:Zt,event:I,hashText:l,identify:W,metadata:Wt,pause:function(){qn()&&(I("clarity","pause"),null===En&&(En=new Promise((function(t){xn=t}))))},resume:function(){qn()&&(jn(),I("clarity","resume"))},set:Y,signal:function(t){nt=t},start:ae,stop:oe,upgrade:U,version:S}),ue=window,ce="clarity";function se(){var t;if(void 0!==ue){if(null===(t=ue[ce])||void 0===t?void 0:t.v)return console.warn("Error CL001: Multiple Clarity tags detected.");var n=ue[ce]&&ue[ce].q||[];for(ue[ce]=function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return ie[t].apply(ie,n)},ue[ce].v=S;n.length>0;)ue[ce].apply(ue,n.shift())}}se()}();
|
package/package.json
CHANGED
|
@@ -1,70 +1,77 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "clarity-js",
|
|
3
|
-
"version": "0.8.
|
|
4
|
-
"description": "An analytics library that uses web page interactions to generate aggregated insights",
|
|
5
|
-
"author": "Microsoft Corp.",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"main": "build/clarity.js",
|
|
8
|
-
"module": "build/clarity.module.js",
|
|
9
|
-
"unpkg": "build/clarity.min.js",
|
|
10
|
-
"extended": "build/clarity.extended.js",
|
|
11
|
-
"insight": "build/clarity.insight.js",
|
|
12
|
-
"performance": "build/clarity.performance.js",
|
|
13
|
-
"types": "types/index.d.ts",
|
|
14
|
-
"keywords": [
|
|
15
|
-
"clarity",
|
|
16
|
-
"Microsoft",
|
|
17
|
-
"interactions",
|
|
18
|
-
"cursor",
|
|
19
|
-
"pointer",
|
|
20
|
-
"instrumentation",
|
|
21
|
-
"analytics"
|
|
22
|
-
],
|
|
23
|
-
"repository": {
|
|
24
|
-
"type": "git",
|
|
25
|
-
"url": "https://github.com/microsoft/clarity.git",
|
|
26
|
-
"directory": "packages/clarity-js"
|
|
27
|
-
},
|
|
28
|
-
"bugs": {
|
|
29
|
-
"url": "https://github.com/microsoft/clarity/issues"
|
|
30
|
-
},
|
|
31
|
-
"devDependencies": {
|
|
32
|
-
"@
|
|
33
|
-
"@rollup/plugin-
|
|
34
|
-
"@rollup/plugin-
|
|
35
|
-
"@rollup/plugin-
|
|
36
|
-
"@rollup/plugin-
|
|
37
|
-
"@
|
|
38
|
-
"@types/
|
|
39
|
-
"@types/
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"typescript": "^4.3.5"
|
|
51
|
-
},
|
|
52
|
-
"scripts": {
|
|
53
|
-
"build": "yarn build:clean && yarn build:main",
|
|
54
|
-
"build:main": "rollup -c rollup.config.ts --configPlugin @rollup/plugin-typescript",
|
|
55
|
-
"build:clean": "del-cli build/*",
|
|
56
|
-
"test": "ts-mocha -p test/tsconfig.test.json test/stub.test.ts",
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "clarity-js",
|
|
3
|
+
"version": "0.8.12",
|
|
4
|
+
"description": "An analytics library that uses web page interactions to generate aggregated insights",
|
|
5
|
+
"author": "Microsoft Corp.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "build/clarity.js",
|
|
8
|
+
"module": "build/clarity.module.js",
|
|
9
|
+
"unpkg": "build/clarity.min.js",
|
|
10
|
+
"extended": "build/clarity.extended.js",
|
|
11
|
+
"insight": "build/clarity.insight.js",
|
|
12
|
+
"performance": "build/clarity.performance.js",
|
|
13
|
+
"types": "types/index.d.ts",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"clarity",
|
|
16
|
+
"Microsoft",
|
|
17
|
+
"interactions",
|
|
18
|
+
"cursor",
|
|
19
|
+
"pointer",
|
|
20
|
+
"instrumentation",
|
|
21
|
+
"analytics"
|
|
22
|
+
],
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "https://github.com/microsoft/clarity.git",
|
|
26
|
+
"directory": "packages/clarity-js"
|
|
27
|
+
},
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://github.com/microsoft/clarity/issues"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@biomejs/biome": "1.9.4",
|
|
33
|
+
"@rollup/plugin-alias": "^5.1.1",
|
|
34
|
+
"@rollup/plugin-commonjs": "^28.0.3",
|
|
35
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
36
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
37
|
+
"@rollup/plugin-typescript": "^12.1.2",
|
|
38
|
+
"@types/chai": "^4.2.21",
|
|
39
|
+
"@types/mocha": "^10.0.0",
|
|
40
|
+
"@types/resize-observer-browser": "^0.1.6",
|
|
41
|
+
"chai": "^4.2.0",
|
|
42
|
+
"del-cli": "^5.0.0",
|
|
43
|
+
"husky": "^8.0.0",
|
|
44
|
+
"lint-staged": "^15.2.9",
|
|
45
|
+
"mocha": "^10.2.0",
|
|
46
|
+
"playwright": "^1.6.2",
|
|
47
|
+
"rollup": "^3.0.0",
|
|
48
|
+
"ts-mocha": "^10.0.0",
|
|
49
|
+
"tslib": "^2.3.0",
|
|
50
|
+
"typescript": "^4.3.5"
|
|
51
|
+
},
|
|
52
|
+
"scripts": {
|
|
53
|
+
"build": "yarn build:clean && yarn build:main",
|
|
54
|
+
"build:main": "rollup -c rollup.config.ts --configPlugin @rollup/plugin-typescript",
|
|
55
|
+
"build:clean": "del-cli build/*",
|
|
56
|
+
"test": "ts-mocha -p test/tsconfig.test.json test/stub.test.ts",
|
|
57
|
+
"lint": "biome check --staged",
|
|
58
|
+
"lint:fix": "biome check --write --staged",
|
|
59
|
+
"lint:fix:unsafe": "biome check --write --unsafe --staged",
|
|
60
|
+
"lint:all": "biome check",
|
|
61
|
+
"lint:all:fix": "biome check --write",
|
|
62
|
+
"lint:changed": "biome check --changed",
|
|
63
|
+
"lint:changed:fix": "biome check --changed --write",
|
|
64
|
+
"lint:changed:fix:unsafe": "biome check --changed --write --unsafe",
|
|
65
|
+
"precommit": "lint-staged"
|
|
66
|
+
},
|
|
67
|
+
"husky": {
|
|
68
|
+
"hooks": {
|
|
69
|
+
"pre-commit": "lint-staged"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"lint-staged": {
|
|
73
|
+
"*.ts": [
|
|
74
|
+
"tslint --format codeFrame"
|
|
75
|
+
]
|
|
76
|
+
}
|
|
70
77
|
}
|
package/rollup.config.ts
CHANGED
|
@@ -1,98 +1,94 @@
|
|
|
1
1
|
import alias from "@rollup/plugin-alias";
|
|
2
2
|
import commonjs from "@rollup/plugin-commonjs";
|
|
3
|
-
import resolve from "@rollup/plugin-node-resolve";
|
|
3
|
+
import resolve from "@rollup/plugin-node-resolve";
|
|
4
4
|
import terser from "@rollup/plugin-terser";
|
|
5
5
|
import typescript from "@rollup/plugin-typescript";
|
|
6
|
-
import pkg from "./package.json" assert { type:
|
|
6
|
+
import pkg from "./package.json" assert { type: "json" };
|
|
7
7
|
export default [
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
warn(message);
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
input: "src/global.ts",
|
|
26
|
-
output: [ { file: pkg.unpkg, format: "iife", exports: "named" } ],
|
|
27
|
-
onwarn(message, warn) {
|
|
28
|
-
if (message.code === 'CIRCULAR_DEPENDENCY') { return; }
|
|
29
|
-
warn(message);
|
|
8
|
+
{
|
|
9
|
+
input: "src/index.ts",
|
|
10
|
+
output: [
|
|
11
|
+
{ file: pkg.main, format: "cjs", exports: "named" },
|
|
12
|
+
{ file: pkg.module, format: "es", exports: "named" },
|
|
13
|
+
],
|
|
14
|
+
plugins: [resolve(), typescript(), commonjs({ include: ["node_modules/**"] })],
|
|
15
|
+
onwarn(message, warn) {
|
|
16
|
+
if (message.code === "CIRCULAR_DEPENDENCY") {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
warn(message);
|
|
20
|
+
},
|
|
30
21
|
},
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
onwarn(message, warn) {
|
|
42
|
-
if (message.code === 'CIRCULAR_DEPENDENCY') { return; }
|
|
43
|
-
warn(message);
|
|
22
|
+
{
|
|
23
|
+
input: "src/global.ts",
|
|
24
|
+
output: [{ file: pkg.unpkg, format: "iife", exports: "named" }],
|
|
25
|
+
onwarn(message, warn) {
|
|
26
|
+
if (message.code === "CIRCULAR_DEPENDENCY") {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
warn(message);
|
|
30
|
+
},
|
|
31
|
+
plugins: [, resolve(), typescript(), terser({ output: { comments: false } }), commonjs({ include: ["node_modules/**"] })],
|
|
44
32
|
},
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
onwarn(message, warn) {
|
|
56
|
-
if (message.code === 'CIRCULAR_DEPENDENCY') { return; }
|
|
57
|
-
warn(message);
|
|
33
|
+
{
|
|
34
|
+
input: "src/global.ts",
|
|
35
|
+
output: [{ file: pkg.extended, format: "iife", exports: "named" }],
|
|
36
|
+
onwarn(message, warn) {
|
|
37
|
+
if (message.code === "CIRCULAR_DEPENDENCY") {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
warn(message);
|
|
41
|
+
},
|
|
42
|
+
plugins: [resolve(), typescript(), terser({ output: { comments: false } }), commonjs({ include: ["node_modules/**"] })],
|
|
58
43
|
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
44
|
+
{
|
|
45
|
+
input: "src/global.ts",
|
|
46
|
+
output: [{ file: pkg.insight, format: "iife", exports: "named" }],
|
|
47
|
+
onwarn(message, warn) {
|
|
48
|
+
if (message.code === "CIRCULAR_DEPENDENCY") {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
warn(message);
|
|
52
|
+
},
|
|
53
|
+
plugins: [
|
|
54
|
+
alias({
|
|
55
|
+
entries: [
|
|
56
|
+
{ find: "@src/layout/style", replacement: "@src/insight/blank" },
|
|
57
|
+
{ find: "@src/layout/document", replacement: "@src/layout/document" },
|
|
58
|
+
{ find: "@src/layout/encode", replacement: "@src/insight/encode" },
|
|
59
|
+
{ find: /@src\/interaction\/(change|clipboard|input|pointer|selection)/, replacement: "@src/insight/blank" },
|
|
60
|
+
{ find: /@src\/layout.*/, replacement: "@src/insight/snapshot" },
|
|
61
|
+
{ find: /@src\/performance.*/, replacement: "@src/insight/blank" },
|
|
62
|
+
],
|
|
63
|
+
}),
|
|
64
|
+
resolve(),
|
|
65
|
+
typescript(),
|
|
66
|
+
terser({ output: { comments: false } }),
|
|
67
|
+
commonjs({ include: ["node_modules/**"] }),
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
input: "src/global.ts",
|
|
72
|
+
output: [{ file: pkg.performance, format: "iife", exports: "named" }],
|
|
73
|
+
onwarn(message, warn) {
|
|
74
|
+
if (message.code === "CIRCULAR_DEPENDENCY") {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
warn(message);
|
|
78
|
+
},
|
|
79
|
+
plugins: [
|
|
80
|
+
alias({
|
|
81
|
+
entries: [
|
|
82
|
+
{ find: /@src\/interaction.*/, replacement: "@src/performance/blank" },
|
|
83
|
+
{ find: /@src\/layout.*/, replacement: "@src/performance/blank" },
|
|
84
|
+
{ find: /@src\/diagnostic.*/, replacement: "@src/performance/blank" },
|
|
85
|
+
{ find: /@src\/data\/(extract|baseline|summary)/, replacement: "@src/performance/blank" },
|
|
86
|
+
],
|
|
87
|
+
}),
|
|
88
|
+
resolve(),
|
|
89
|
+
typescript(),
|
|
90
|
+
terser({ output: { comments: false } }),
|
|
91
|
+
commonjs({ include: ["node_modules/**"] }),
|
|
92
|
+
],
|
|
82
93
|
},
|
|
83
|
-
plugins: [
|
|
84
|
-
alias({
|
|
85
|
-
entries: [
|
|
86
|
-
{ find: /@src\/interaction.*/, replacement: '@src/performance/blank' },
|
|
87
|
-
{ find: /@src\/layout.*/, replacement: '@src/performance/blank' },
|
|
88
|
-
{ find: /@src\/diagnostic.*/, replacement: '@src/performance/blank' },
|
|
89
|
-
{ find: /@src\/data\/(extract|baseline|summary)/, replacement: '@src/performance/blank' }
|
|
90
|
-
]
|
|
91
|
-
}),
|
|
92
|
-
resolve(),
|
|
93
|
-
typescript(),
|
|
94
|
-
terser({output: {comments: false}}),
|
|
95
|
-
commonjs({ include: ["node_modules/**"] })
|
|
96
|
-
]
|
|
97
|
-
}
|
|
98
94
|
];
|
package/src/clarity.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Config, Module } from "@clarity-types/core";
|
|
1
|
+
import type { Config, Module } from "@clarity-types/core";
|
|
2
2
|
import { Constant } from "@clarity-types/data";
|
|
3
|
-
import * as queue from "@src/queue";
|
|
4
3
|
import * as core from "@src/core";
|
|
5
4
|
import measure from "@src/core/measure";
|
|
6
5
|
import * as task from "@src/core/task";
|
|
@@ -10,6 +9,7 @@ import * as diagnostic from "@src/diagnostic";
|
|
|
10
9
|
import * as interaction from "@src/interaction";
|
|
11
10
|
import * as layout from "@src/layout";
|
|
12
11
|
import * as performance from "@src/performance";
|
|
12
|
+
import * as queue from "@src/queue";
|
|
13
13
|
export { version };
|
|
14
14
|
export { consent, event, identify, set, upgrade, metadata, signal } from "@src/data";
|
|
15
15
|
export { hashText } from "@src/layout";
|
|
@@ -17,17 +17,21 @@ export { hashText } from "@src/layout";
|
|
|
17
17
|
const modules: Module[] = [diagnostic, layout, interaction, performance];
|
|
18
18
|
|
|
19
19
|
export function start(config: Config = null): void {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
// Check that browser supports required APIs and we do not attempt to start Clarity multiple times
|
|
21
|
+
if (core.check()) {
|
|
22
|
+
core.config(config);
|
|
23
|
+
core.start();
|
|
24
|
+
data.start();
|
|
25
|
+
for (const x of modules) {
|
|
26
|
+
measure(x.start)();
|
|
27
|
+
}
|
|
26
28
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
// If it's an internal call to start, without explicit configuration,
|
|
30
|
+
// re-process any newly accumulated items in the queue
|
|
31
|
+
if (config === null) {
|
|
32
|
+
queue.process();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
31
35
|
}
|
|
32
36
|
|
|
33
37
|
// By default Clarity is asynchronous and will yield by looking for requestIdleCallback.
|
|
@@ -36,26 +40,28 @@ export function start(config: Config = null): void {
|
|
|
36
40
|
// we do allow external clients to manually pause Clarity for that short burst of time and minimize
|
|
37
41
|
// performance impact even further. For reference, we are talking single digit milliseconds optimization here, not seconds.
|
|
38
42
|
export function pause(): void {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
if (core.active()) {
|
|
44
|
+
data.event(Constant.Clarity, Constant.Pause);
|
|
45
|
+
task.pause();
|
|
46
|
+
}
|
|
43
47
|
}
|
|
44
48
|
|
|
45
49
|
// This is how external clients can get out of pause state, and resume Clarity to continue monitoring the page
|
|
46
50
|
export function resume(): void {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
if (core.active()) {
|
|
52
|
+
task.resume();
|
|
53
|
+
data.event(Constant.Clarity, Constant.Resume);
|
|
54
|
+
}
|
|
51
55
|
}
|
|
52
56
|
|
|
53
57
|
export function stop(): void {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
if (core.active()) {
|
|
59
|
+
// Stop modules in the reverse order of their initialization and start queuing up items again
|
|
60
|
+
for (const x of modules.slice().reverse()) {
|
|
61
|
+
measure(x.stop)();
|
|
62
|
+
}
|
|
63
|
+
data.stop();
|
|
64
|
+
core.stop();
|
|
65
|
+
queue.setup();
|
|
66
|
+
}
|
|
67
|
+
}
|
package/src/core/api.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { Constant } from "@clarity-types/core";
|
|
2
|
+
import { Code, Severity } from "@clarity-types/data";
|
|
3
|
+
import * as internal from "@src/diagnostic/internal";
|
|
2
4
|
|
|
3
5
|
export default function api(method: string): string {
|
|
4
6
|
// Zone.js, a popular package for Angular, overrides native browser APIs which can lead to inconsistent state for single page applications.
|
|
5
7
|
// Example issue: https://github.com/angular/angular/issues/31712
|
|
6
8
|
// As a work around, we ensuring Clarity access APIs outside of Zone (and use native implementation instead)
|
|
7
|
-
|
|
9
|
+
const isZone = window[Constant.Zone] && Constant.Symbol in window[Constant.Zone];
|
|
10
|
+
if (isZone) {
|
|
11
|
+
internal.log(Code.AngularZone, Severity.Info);
|
|
12
|
+
return window[Constant.Zone][Constant.Symbol](method);
|
|
13
|
+
}
|
|
14
|
+
return method;
|
|
8
15
|
}
|
package/src/core/config.ts
CHANGED