clarity-js 0.7.34 → 0.7.37

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.
@@ -160,7 +160,7 @@ function stop$F() {
160
160
  startTime = 0;
161
161
  }
162
162
 
163
- var version$1 = "0.7.34";
163
+ var version$1 = "0.7.37";
164
164
 
165
165
  // tslint:disable: no-bitwise
166
166
  function hash (input, precision) {
@@ -361,7 +361,7 @@ function redact$1(value) {
361
361
  return array ? array.join("" /* Data.Constant.Empty */) : value;
362
362
  }
363
363
 
364
- var state$c = null;
364
+ var state$b = null;
365
365
  var buffer = null;
366
366
  var update$2 = false;
367
367
  function start$H() {
@@ -372,7 +372,7 @@ function reset$s() {
372
372
  // Baseline state holds the previous values - if it is updated in the current payload,
373
373
  // reset the state to current value after sending the previous state
374
374
  if (update$2) {
375
- state$c = { time: time(), event: 4 /* Event.Baseline */, data: {
375
+ state$b = { time: time(), event: 4 /* Event.Baseline */, data: {
376
376
  visible: buffer.visible,
377
377
  docWidth: buffer.docWidth,
378
378
  docHeight: buffer.docHeight,
@@ -448,7 +448,7 @@ var baseline = /*#__PURE__*/Object.freeze({
448
448
  compute: compute$e,
449
449
  reset: reset$s,
450
450
  start: start$H,
451
- get state () { return state$c; },
451
+ get state () { return state$b; },
452
452
  stop: stop$E,
453
453
  track: track$8,
454
454
  visibility: visibility
@@ -1507,7 +1507,7 @@ function run() {
1507
1507
  });
1508
1508
  }
1509
1509
  }
1510
- function state$b(timer) {
1510
+ function state$a(timer) {
1511
1511
  var id = key(timer);
1512
1512
  if (id in tracker) {
1513
1513
  var elapsed = performance.now() - tracker[id].start;
@@ -1696,11 +1696,11 @@ function stop$v() {
1696
1696
  reset$k();
1697
1697
  }
1698
1698
 
1699
- var state$a = [];
1699
+ var sheetAdoptionState = [];
1700
+ var sheetUpdateState = [];
1700
1701
  var replace = null;
1701
1702
  var replaceSync = null;
1702
1703
  function start$w() {
1703
- reset$j();
1704
1704
  if (replace === null) {
1705
1705
  replace = CSSStyleSheet.prototype.replace;
1706
1706
  CSSStyleSheet.prototype.replace = function () {
@@ -1731,7 +1731,8 @@ function compute$8() {
1731
1731
  checkDocumentStyles(document);
1732
1732
  }
1733
1733
  function reset$j() {
1734
- state$a = [];
1734
+ sheetAdoptionState = [];
1735
+ sheetUpdateState = [];
1735
1736
  }
1736
1737
  function stop$u() {
1737
1738
  reset$j();
@@ -1835,19 +1836,19 @@ function encode$4 (type, timer, ts) {
1835
1836
  case 8 /* Event.Document */: return [3 /*break*/, 1];
1836
1837
  case 7 /* Event.Region */: return [3 /*break*/, 2];
1837
1838
  case 45 /* Event.StyleSheetAdoption */: return [3 /*break*/, 3];
1838
- case 46 /* Event.StyleSheetUpdate */: return [3 /*break*/, 4];
1839
- case 44 /* Event.Animation */: return [3 /*break*/, 5];
1840
- case 5 /* Event.Discover */: return [3 /*break*/, 6];
1841
- case 6 /* Event.Mutation */: return [3 /*break*/, 6];
1839
+ case 46 /* Event.StyleSheetUpdate */: return [3 /*break*/, 3];
1840
+ case 44 /* Event.Animation */: return [3 /*break*/, 4];
1841
+ case 5 /* Event.Discover */: return [3 /*break*/, 5];
1842
+ case 6 /* Event.Mutation */: return [3 /*break*/, 5];
1842
1843
  }
1843
- return [3 /*break*/, 13];
1844
+ return [3 /*break*/, 12];
1844
1845
  case 1:
1845
1846
  d = data$c;
1846
1847
  tokens.push(d.width);
1847
1848
  tokens.push(d.height);
1848
1849
  track$8(type, d.width, d.height);
1849
1850
  queue(tokens);
1850
- return [3 /*break*/, 13];
1851
+ return [3 /*break*/, 12];
1851
1852
  case 2:
1852
1853
  for (_i = 0, _b = state$8; _i < _b.length; _i++) {
1853
1854
  r = _b[_i];
@@ -1859,9 +1860,9 @@ function encode$4 (type, timer, ts) {
1859
1860
  queue(tokens);
1860
1861
  }
1861
1862
  reset$h();
1862
- return [3 /*break*/, 13];
1863
+ return [3 /*break*/, 12];
1863
1864
  case 3:
1864
- for (_c = 0, _d = state$a; _c < _d.length; _c++) {
1865
+ for (_c = 0, _d = sheetAdoptionState; _c < _d.length; _c++) {
1865
1866
  entry = _d[_c];
1866
1867
  tokens = [entry.time, entry.event];
1867
1868
  tokens.push(entry.data.id);
@@ -1869,10 +1870,7 @@ function encode$4 (type, timer, ts) {
1869
1870
  tokens.push(entry.data.newIds);
1870
1871
  queue(tokens);
1871
1872
  }
1872
- reset$j();
1873
- return [3 /*break*/, 13];
1874
- case 4:
1875
- for (_e = 0, _f = state$a; _e < _f.length; _e++) {
1873
+ for (_e = 0, _f = sheetUpdateState; _e < _f.length; _e++) {
1876
1874
  entry = _f[_e];
1877
1875
  tokens = [entry.time, entry.event];
1878
1876
  tokens.push(entry.data.id);
@@ -1881,8 +1879,8 @@ function encode$4 (type, timer, ts) {
1881
1879
  queue(tokens);
1882
1880
  }
1883
1881
  reset$j();
1884
- _l.label = 5;
1885
- case 5:
1882
+ return [3 /*break*/, 12];
1883
+ case 4:
1886
1884
  for (_g = 0, _h = state$9; _g < _h.length; _g++) {
1887
1885
  entry = _h[_g];
1888
1886
  tokens = [entry.time, entry.event];
@@ -1895,28 +1893,28 @@ function encode$4 (type, timer, ts) {
1895
1893
  queue(tokens);
1896
1894
  }
1897
1895
  reset$i();
1898
- return [3 /*break*/, 13];
1899
- case 6:
1896
+ return [3 /*break*/, 12];
1897
+ case 5:
1900
1898
  // Check if we are operating within the context of the current page
1901
- if (state$b(timer) === 2 /* Task.Stop */) {
1902
- return [3 /*break*/, 13];
1899
+ if (state$a(timer) === 2 /* Task.Stop */) {
1900
+ return [3 /*break*/, 12];
1903
1901
  }
1904
1902
  values = updates$2();
1905
- if (!(values.length > 0)) return [3 /*break*/, 12];
1903
+ if (!(values.length > 0)) return [3 /*break*/, 11];
1906
1904
  _j = 0, values_1 = values;
1907
- _l.label = 7;
1908
- case 7:
1909
- if (!(_j < values_1.length)) return [3 /*break*/, 11];
1905
+ _l.label = 6;
1906
+ case 6:
1907
+ if (!(_j < values_1.length)) return [3 /*break*/, 10];
1910
1908
  value = values_1[_j];
1911
- state = state$b(timer);
1912
- if (!(state === 0 /* Task.Wait */)) return [3 /*break*/, 9];
1909
+ state = state$a(timer);
1910
+ if (!(state === 0 /* Task.Wait */)) return [3 /*break*/, 8];
1913
1911
  return [4 /*yield*/, suspend$1(timer)];
1914
- case 8:
1912
+ case 7:
1915
1913
  state = _l.sent();
1916
- _l.label = 9;
1917
- case 9:
1914
+ _l.label = 8;
1915
+ case 8:
1918
1916
  if (state === 2 /* Task.Stop */) {
1919
- return [3 /*break*/, 11];
1917
+ return [3 /*break*/, 10];
1920
1918
  }
1921
1919
  data = value.data;
1922
1920
  active = value.metadata.active;
@@ -1957,18 +1955,18 @@ function encode$4 (type, timer, ts) {
1957
1955
  }
1958
1956
  }
1959
1957
  }
1960
- _l.label = 10;
1961
- case 10:
1958
+ _l.label = 9;
1959
+ case 9:
1962
1960
  _j++;
1963
- return [3 /*break*/, 7];
1964
- case 11:
1961
+ return [3 /*break*/, 6];
1962
+ case 10:
1965
1963
  if (type === 6 /* Event.Mutation */) {
1966
1964
  activity(eventTime);
1967
1965
  }
1968
1966
  queue(tokenize(tokens), !config$1.lean);
1969
- _l.label = 12;
1970
- case 12: return [3 /*break*/, 13];
1971
- case 13: return [2 /*return*/];
1967
+ _l.label = 11;
1968
+ case 11: return [3 /*break*/, 12];
1969
+ case 12: return [2 /*return*/];
1972
1970
  }
1973
1971
  });
1974
1972
  });
@@ -3071,7 +3069,7 @@ function traverse (root, timer, source, timestamp) {
3071
3069
  queue.push(next);
3072
3070
  next = next.nextSibling;
3073
3071
  }
3074
- state = state$b(timer);
3072
+ state = state$a(timer);
3075
3073
  if (!(state === 0 /* Task.Wait */)) return [3 /*break*/, 3];
3076
3074
  return [4 /*yield*/, suspend$1(timer)];
3077
3075
  case 2:
@@ -3219,7 +3217,7 @@ function process$1() {
3219
3217
  case 2:
3220
3218
  if (!(_i < _a.length)) return [3 /*break*/, 6];
3221
3219
  mutation = _a[_i];
3222
- state = state$b(timer);
3220
+ state = state$a(timer);
3223
3221
  if (!(state === 0 /* Task.Wait */)) return [3 /*break*/, 4];
3224
3222
  return [4 /*yield*/, suspend$1(timer)];
3225
3223
  case 3:
@@ -3328,7 +3326,7 @@ function processNodeList(list, source, timer, timestamp) {
3328
3326
  traverse(list[i], timer, source);
3329
3327
  return [3 /*break*/, 5];
3330
3328
  case 2:
3331
- state = state$b(timer);
3329
+ state = state$a(timer);
3332
3330
  if (!(state === 0 /* Task.Wait */)) return [3 /*break*/, 4];
3333
3331
  return [4 /*yield*/, suspend$1(timer)];
3334
3332
  case 3:
@@ -4216,7 +4214,7 @@ function encode$1 (event) {
4216
4214
  var tokens = [t, event];
4217
4215
  switch (event) {
4218
4216
  case 4 /* Event.Baseline */:
4219
- var b = state$c;
4217
+ var b = state$b;
4220
4218
  if (b) {
4221
4219
  tokens = [b.time, b.event];
4222
4220
  tokens.push(b.data.visible);
@@ -1 +1 @@
1
- !function(){"use strict";var t=Object.freeze({__proto__:null,get queue(){return gt},get start(){return vt},get stop(){return mt},get track(){return st}}),n=Object.freeze({__proto__:null,get check(){return Et},get compute(){return Mt},get data(){return lt},get start(){return St},get stop(){return Ot},get trigger(){return It}}),e=Object.freeze({__proto__:null,get compute(){return qt},get data(){return xt},get log(){return Ct},get reset(){return At},get start(){return jt},get stop(){return zt},get updates(){return Tt}}),r=Object.freeze({__proto__:null,get callbacks(){return Rt},get clear(){return Xt},get consent(){return Bt},get data(){return Nt},get electron(){return Dt},get id(){return Vt},get metadata(){return Lt},get save(){return Jt},get shortid(){return Zt},get start(){return Ht},get stop(){return Ut}}),o=Object.freeze({__proto__:null,get data(){return nn},get envelope(){return on},get start(){return en},get stop(){return rn}}),a={projectId:null,delay:1e3,lean:!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};function u(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var c=0;function i(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-c),0)}var s="0.7.34";var l=!0,p=null,d=null;function f(t,n,e){return function(){if(l&&null===p)try{p=new RegExp("\\p{N}","gu"),d=new RegExp("\\p{L}","gu"),new RegExp("\\p{Sc}","gu")}catch(t){l=!1}}(),t?t.replace(d,n).replace(p,e):t}var h=[],v=null;function g(){}var m=[];function y(){}function b(){}var w=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:v,hashText:y,keys:m,log:g,observe:function(){},reset:function(){},start:function(){},state:h,stop:function(){},trigger:b}),k=null;function _(t,n){jn()&&t&&"string"==typeof t&&t.length<255&&(k=n&&"string"==typeof n&&n.length<255?{key:t,value:n}:{value:t},_t(24))}var S,E=null,I=null;function M(t){t in E||(E[t]=0),t in I||(I[t]=0),E[t]++,I[t]++}function O(t,n){null!==n&&(t in E||(E[t]=0),t in I||(I[t]=0),E[t]+=n,I[t]+=n)}function x(t,n){null!==n&&!1===isNaN(n)&&(t in E||(E[t]=0),(n>E[t]||0===E[t])&&(I[t]=n,E[t]=n))}function T(t,n,e){return window.setTimeout(cn(t),n,e)}function j(t){return window.clearTimeout(t)}var z=0,C=0,q=null;function A(){q&&j(q),q=T(N,C),z=i()}function N(){var t=i();S={gap:t-z},_t(25),S.gap<3e5?q=T(N,C):On&&(_("clarity","suspend"),Bn(),["mousemove","touchstart"].forEach((function(t){return ln(document,t,Cn)})),["resize","scroll","pageshow"].forEach((function(t){return ln(window,t,Cn)})))}var R=Object.freeze({__proto__:null,get data(){return S},reset:A,start:function(){C=6e4,z=0},stop:function(){j(q),z=0,C=0}}),D=null;function P(t){jn()&&a.lean&&(a.lean=!1,D={key:t},Jt(),a.upgrade&&a.upgrade(t),_t(3))}var H=Object.freeze({__proto__:null,get data(){return D},start:function(){!a.lean&&a.upgrade&&a.upgrade("Config"),D=null},stop:function(){D=null},upgrade:P});function U(t,n,e,r){return new(e||(e=Promise))((function(o,a){function u(t){try{i(r.next(t))}catch(t){a(t)}}function c(t){try{i(r.throw(t))}catch(t){a(t)}}function i(t){var n;t.done?o(t.value):(n=t.value,n instanceof e?n:new e((function(t){t(n)}))).then(u,c)}i((r=r.apply(t,n||[])).next())}))}function L(t,n){var e,r,o,a,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(i){return function(c){if(e)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(u=0)),u;)try{if(e=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return u.label++,{value:c[1],done:!1};case 5:u.label++,r=c[1],c=[0];continue;case 7:c=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){u=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){u.label=c[1];break}if(6===c[0]&&u.label<o[1]){u.label=o[1],o=c;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(c);break}o[2]&&u.ops.pop(),u.trys.pop();continue}c=n.call(t,u)}catch(t){c=[6,t],r=0}finally{e=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,i])}}}var V=null;function B(t,n){J(t,"string"==typeof n?[n]:n)}function X(t,n,e,r){return void 0===n&&(n=null),void 0===e&&(e=null),void 0===r&&(r=null),U(this,void 0,void 0,(function(){var o,a;return L(this,(function(u){switch(u.label){case 0:return a={},[4,Z(t)];case 1:return a.userId=u.sent(),a.userHint=r||((c=t)&&c.length>=5?"".concat(c.substring(0,2)).concat(f(c.substring(2),"*","*")):f(c,"*","*")),J("userId",[(o=a).userId]),J("userHint",[o.userHint]),J("userType",[Y(t)]),n&&(J("sessionId",[n]),o.sessionId=n),e&&(J("pageId",[e]),o.pageId=e),[2,o]}var c}))}))}function J(t,n){if(jn()&&t&&n&&"string"==typeof t&&t.length<255){for(var e=(t in V?V[t]:[]),r=0;r<n.length;r++)"string"==typeof n[r]&&n[r].length<255&&e.push(n[r]);V[t]=e}}function W(){_t(34)}function G(){V={}}function Z(t){return U(this,void 0,void 0,(function(){var n;return L(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 Y(t){return t&&t.indexOf("@")>0?"email":"string"}var F="CompressionStream"in window;function K(t){return U(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]),F?(n=new ReadableStream({start:function(n){return U(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,Q(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 Q(t){return U(this,void 0,void 0,(function(){var n,e,r,o,a;return L(this,(function(u){switch(u.label){case 0:n=t.getReader(),e=[],r=!1,o=[],u.label=1;case 1:return r?[3,3]:[4,n.read()];case 2:return a=u.sent(),r=a.done,o=a.value,r?[2,e]:(e.push.apply(e,o),[3,1]);case 3:return[2,e]}}))}))}var $=null;function tt(t){try{if(!$)return;var n=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);n.forEach((function(t){$(t)}))}catch(t){}}var nt=[w,e,Object.freeze({__proto__:null,compute:W,get data(){return V},identify:X,reset:G,set:B,start:function(){G()},stop:function(){G()}}),n,w,r,o,t,R,H,w];function et(){E={},I={},M(5),nt.forEach((function(t){return cn(t.start)()}))}function rt(){nt.slice().reverse().forEach((function(t){return cn(t.stop)()})),E={},I={}}function ot(){W(),qt(),_t(0),Mt()}var at,ut,ct,it,st,lt,pt=0,dt=0,ft=null,ht=0;function vt(){it=!0,pt=0,dt=0,ht=0,at=[],ut=[],ct={},st=null}function gt(t,n){if(void 0===n&&(n=!0),it){var e=i(),r=t.length>1?t[1]:null,o=JSON.stringify(t);switch(r){case 5:pt+=o.length;case 37:case 6:case 43:case 45:case 46:dt+=o.length,at.push(o);break;default:ut.push(o)}M(25);var u=function(){var t=!1===a.lean&&pt>0?100:nn.sequence*a.delay;return"string"==typeof a.upload?Math.max(Math.min(t,3e4),100):a.delay}();e-ht>2*u&&(j(ft),ft=null),n&&null===ft&&(25!==r&&A(),ft=T(yt,u),ht=e,Et(dt))}}function mt(){j(ft),yt(!0),pt=0,dt=0,ht=0,at=[],ut=[],ct={},st=null,it=!1}function yt(t){return void 0===t&&(t=!1),U(this,void 0,void 0,(function(){var n,e,r,o,u,c,i,s;return L(this,(function(l){switch(l.label){case 0:return ft=null,(n=!1===a.lean&&dt>0&&(dt<1048576||nn.sequence>0))&&x(1,1),ot(),e=!0===t,r=JSON.stringify(on(e)),o="[".concat(ut.join(),"]"),u=n?"[".concat(at.join(),"]"):"",c=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:u}),e?(s=null,[3,3]):[3,1];case 1:return[4,K(c)];case 2:s=l.sent(),l.label=3;case 3:return O(2,(i=s)?i.length:c.length),bt(c,i,nn.sequence,e),ut=[],n&&(at=[],dt=0,pt=0),[2]}}))}))}function bt(t,n,e,r){if(void 0===r&&(r=!1),"string"==typeof a.upload){var o=a.upload,u=!1;if(r&&"sendBeacon"in navigator)try{(u=navigator.sendBeacon.bind(navigator)(o,t))&&kt(e)}catch(t){}if(!1===u){e in ct?ct[e].attempts++:ct[e]={data:t,attempts:1};var c=new XMLHttpRequest;c.open("POST",o,!0),c.timeout=15e3,c.ontimeout=function(){un(new Error("".concat("Timeout"," : ").concat(o)))},null!==e&&(c.onreadystatechange=function(){cn(wt)(c,e)}),c.withCredentials=!0,n?(c.setRequestHeader("Accept","application/x-clarity-gzip"),c.send(n)):c.send(t)}}else if(a.upload){(0,a.upload)(t),kt(e)}}function wt(t,n){var e=ct[n];t&&4===t.readyState&&e&&((t.status<200||t.status>208)&&e.attempts<=1?t.status>=400&&t.status<500?It(6):(0===t.status&&(a.upload=a.fallback?a.fallback:a.upload),bt(e.data,null,n)):(st={sequence:n,attempts:e.attempts,status:t.status},e.attempts>1&&_t(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],u=o&&o.length>0?o.split(/ (.*)/):[""];switch(u[0]){case"END":It(6);break;case"UPGRADE":P("Auto");break;case"ACTION":a.action&&u.length>1&&a.action(u[1]);break;case"EXTRACT":u.length>1&&u[1];break;case"SIGNAL":u.length>1&&tt(u[1])}}}(t.responseText),0===t.status&&(bt(e.data,null,n,!0),It(3)),t.status>=200&&t.status<=208&&kt(n),delete ct[n]))}function kt(t){1===t&&Jt()}function _t(t){var n=[i(),t];switch(t){case 4:var e=h;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),gt(n,!1));break;case 25:n.push(S.gap),gt(n);break;case 35:n.push(lt.check),gt(n,!1);break;case 3:n.push(D.key),gt(n);break;case 2:n.push(st.sequence),n.push(st.attempts),n.push(st.status),gt(n,!1);break;case 24:k.key&&n.push(k.key),n.push(k.value),gt(n);break;case 34:var r=Object.keys(V);if(r.length>0){for(var o=0,a=r;o<a.length;o++){var u=a[o];n.push(u),n.push(V[u])}G(),gt(n,!1)}break;case 0:var c=Object.keys(I);if(c.length>0){for(var s=0,l=c;s<l.length;s++){var p=l[s],d=parseInt(p,10);n.push(d),n.push(Math.round(I[p]))}I={},gt(n,!1)}break;case 1:var f=Object.keys(Tt);if(f.length>0){for(var g=0,y=f;g<y.length;g++){var b=y[g];d=parseInt(b,10);n.push(d),n.push(Tt[b])}At(),gt(n,!1)}break;case 36:var w=Object.keys(v);if(w.length>0){for(var _=0,E=w;_<E.length;_++){var M=E[_];d=parseInt(M,10);n.push(d),n.push([].concat.apply([],v[M]))}gt(n,!1)}break;case 40:m.forEach((function(t){n.push(t);var e=[];for(var r in v[t]){var o=parseInt(r,10);e.push(o),e.push(v[t][r])}n.push(e)})),gt(n,!1)}}function St(){lt={check:0}}function Et(t){if(0===lt.check){var n=lt.check;n=nn.sequence>=128?1:n,n=nn.pageNum>=128?7:n,n=i()>72e5?2:n,(n=t>10485760?2:n)!==lt.check&&It(n)}}function It(t){lt.check=t,Xt(),Bn()}function Mt(){0!==lt.check&&_t(35)}function Ot(){lt=null}var xt=null,Tt=null;function jt(){xt={},Tt={}}function zt(){xt={},Tt={}}function Ct(t,n){n&&(n="".concat(n),t in xt||(xt[t]=[]),xt[t].indexOf(n)<0&&(xt[t].push(n),t in Tt||(Tt[t]=[]),Tt[t].push(n),xt[t].length>128&&It(5)))}function qt(){_t(1)}function At(){Tt={}}var Nt=null,Rt=[],Dt=0,Pt=null;function Ht(){Pt=null;var t=navigator&&"userAgent"in navigator?navigator.userAgent:"",n=document&&document.title?document.title:"";Dt=t.indexOf("Electron")>0?1:0;var e,r=function(){var t={session:Zt(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},n=Kt("_clsk");if(n){var e=n.split("|");e.length>=5&&t.ts-Yt(e[1])<18e5&&(t.session=e[0],t.count=Yt(e[2])+1,t.upgrade=Yt(e[3]),t.upload=e.length>=6?"".concat("https://").concat(e[5],"/").concat(e[4]):"".concat("https://").concat(e[4]))}return t}(),o=Ft(),u=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);Nt={projectId:u,userId:o.id,sessionId:r.session,pageNum:r.count},a.lean=a.track&&null!==r.upgrade?0===r.upgrade:a.lean,a.upload=a.track&&"string"==typeof a.upload&&r.upload&&r.upload.length>"https://".length?r.upload:a.upload,Ct(0,t),Ct(3,n),Ct(1,function(t,n){if(void 0===n&&(n=!1),n)return"".concat("https://").concat("Electron");var e=a.drop;if(e&&e.length>0&&t&&t.indexOf("?")>0){var r=t.split("?");return r[0]+"?"+r[1].split("&").map((function(t){return e.some((function(n){return 0===t.indexOf("".concat(n,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&")}return t}(location.href,!!Dt)),Ct(2,document.referrer),Ct(15,function(){var t=Zt();if(a.track&&Wt(window,"sessionStorage")){var n=sessionStorage.getItem("_cltk");t=n||t,sessionStorage.setItem("_cltk",t)}return t}()),Ct(16,document.documentElement.lang),Ct(17,document.dir),Ct(26,"".concat(window.devicePixelRatio)),Ct(28,o.dob.toString()),Ct(29,o.version.toString()),x(0,r.ts),x(1,0),x(35,Dt),navigator&&(Ct(9,navigator.language),x(33,navigator.hardwareConcurrency),x(32,navigator.maxTouchPoints),x(34,Math.round(navigator.deviceMemory)),(e=navigator.userAgentData)&&e.getHighEntropyValues?e.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var n;Ct(22,t.platform),Ct(23,t.platformVersion),null===(n=t.brands)||void 0===n||n.forEach((function(t){Ct(24,t.name+"~"+t.version)})),Ct(25,t.model),x(27,t.mobile?1:0)})):Ct(22,navigator.platform)),screen&&(x(14,Math.round(screen.width)),x(15,Math.round(screen.height)),x(16,Math.round(screen.colorDepth)));for(var c=0,i=a.cookies;c<i.length;c++){var s=i[c],l=Kt(s);l&&B(s,l)}Gt(o)}function Ut(){Pt=null,Nt=null}function Lt(t,n){void 0===n&&(n=!0);var e=a.lean?0:1;Nt&&(e||!1===n)?t(Nt,!a.lean):Rt.push({callback:t,wait:n})}function Vt(){return Nt?[Nt.userId,Nt.sessionId,Nt.pageNum].join("."):""}function Bt(t){if(void 0===t&&(t=!0),!t)return a.track=!1,$t("_clsk","",-Number.MAX_VALUE),$t("_clck","",-Number.MAX_VALUE),Bn(),void window.setTimeout(Vn,250);jn()&&(a.track=!0,Gt(Ft(),1))}function Xt(){$t("_clsk","",0)}function Jt(){var t=Math.round(Date.now()),n=a.upload&&"string"==typeof a.upload?a.upload.replace("https://",""):"",e=a.lean?0:1;!function(t){Rt.length>0&&Rt.forEach((function(n){!n.callback||n.wait&&!t||n.callback(Nt,!a.lean)}))}(e),$t("_clsk",[Nt.sessionId,t,Nt.pageNum,e,n].join("|"),1)}function Wt(t,n){try{return!!t[n]}catch(t){return!1}}function Gt(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)&&$t("_clck",[Nt.userId,2,e.toString(36),n,r].join("|"),365)}function Zt(){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 Yt(t,n){return void 0===n&&(n=10),parseInt(t,n)}function Ft(){var t={id:Zt(),version:0,expiry:null,consent:0,dob:0},n=Kt("_clck");if(n&&n.length>0){for(var e=n.split("|"),r=0,o=0,u=document.cookie.split(";");o<u.length;o++){r+="_clck"===u[o].split("=")[0].trim()?1:0}if(1===e.length||r>1){var c="".concat(";").concat("expires=").concat(new Date(0).toUTCString()).concat(";path=/");document.cookie="".concat("_clck","=").concat(c),document.cookie="".concat("_clsk","=").concat(c)}e.length>1&&(t.version=Yt(e[1])),e.length>2&&(t.expiry=Yt(e[2],36)),e.length>3&&1===Yt(e[3])&&(t.consent=1),e.length>4&&Yt(e[1])>1&&(t.dob=Yt(e[4])),a.track=a.track||1===t.consent,t.id=a.track?e[0]:t.id}return t}function Kt(t){var n;if(Wt(document,"cookie")){var e=document.cookie.split(";");if(e)for(var r=0;r<e.length;r++){var o=e[r].split("=");if(o.length>1&&o[0]&&o[0].trim()===t){for(var a=Qt(o[1]),u=a[0],c=a[1];u;)u=(n=Qt(c))[0],c=n[1];return c}}}return null}function Qt(t){try{var n=decodeURIComponent(t);return[n!=t,n]}catch(t){}return[!1,t]}function $t(t,n,e){if((a.track||""==n)&&(navigator&&navigator.cookieEnabled||Wt(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(n),o=new Date;o.setDate(o.getDate()+e);var u=o?"expires="+o.toUTCString():"",c="".concat(t,"=").concat(r).concat(";").concat(u).concat(";path=/");try{if(null===Pt){for(var i=location.hostname?location.hostname.split("."):[],s=i.length-1;s>=0;s--)if(Pt=".".concat(i[s]).concat(Pt||""),s<i.length-1&&(document.cookie="".concat(c).concat(";").concat("domain=").concat(Pt),Kt(t)===n))return;Pt=""}}catch(t){Pt=""}document.cookie=Pt?"".concat(c).concat(";").concat("domain=").concat(Pt):c}}var tn,nn=null;function en(){var t=Nt;nn={version:s,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0}}function rn(){nn=null}function on(t){return nn.start=nn.start+nn.duration,nn.duration=i()-nn.start,nn.sequence++,nn.upload=t&&"sendBeacon"in navigator?1:0,nn.end=t?1:0,[nn.version,nn.sequence,nn.start,nn.duration,nn.projectId,nn.userId,nn.sessionId,nn.pageNum,nn.upload,nn.end]}function an(){tn=[]}function un(t){if(tn&&-1===tn.indexOf(t.message)){var n=a.report;if(n&&n.length>0){var e={v:nn.version,p:nn.projectId,u:nn.userId,s:nn.sessionId,n:nn.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)),tn.push(t.message)}}return t}function cn(t){return function(){var n=performance.now();try{t.apply(this,arguments)}catch(t){throw un(t)}var e=performance.now()-n;O(4,e),e>30&&(M(7),x(6,e))}}var sn=[];function ln(t,n,e,r){void 0===r&&(r=!1),e=cn(e);try{t[u("addEventListener")](n,e,r),sn.push({event:n,target:t,listener:e,capture:r})}catch(t){}}function pn(){for(var t=0,n=sn;t<n.length;t++){var e=n[t];try{e.target[u("removeEventListener")](e.event,e.listener,e.capture)}catch(t){}}sn=[]}var dn=null,fn=null,hn=null,vn=0;function gn(){return!(vn++>20)}function mn(){vn=0,hn!==bn()&&(Bn(),window.setTimeout(yn,250))}function yn(){Vn(),x(29,1)}function bn(){return location.href?location.href.replace(location.hash,""):location.href}var wn=[],kn=null,_n=null,Sn=null;function En(){_n&&(Sn(),_n=null,null===kn&&Mn())}function In(){wn=[],kn=null,_n=null}function Mn(){var t=wn.shift();t&&(kn=t,t.task().then((function(){t.id===Vt()&&(t.resolve(),kn=null,Mn())})).catch((function(n){t.id===Vt()&&(n&&(n.name,n.message,n.stack),kn=null,Mn())})))}var On=!1;function xn(){On=!0,c=performance.now()+performance.timeOrigin,In(),pn(),an(),hn=bn(),vn=0,ln(window,"popstate",mn),null===dn&&(dn=history.pushState,history.pushState=function(){dn.apply(this,arguments),jn()&&gn()&&mn()}),null===fn&&(fn=history.replaceState,history.replaceState=function(){fn.apply(this,arguments),jn()&&gn()&&mn()})}function Tn(){hn=null,vn=0,an(),pn(),In(),c=0,On=!1}function jn(){return On}function zn(t){if(null===t||On)return!1;for(var n in t)n in a&&(a[n]=t[n]);return!0}function Cn(){Vn(),_("clarity","restart")}var qn,An=null;function Nn(){An=null}function Rn(t){An={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){U(this,void 0,void 0,(function(){var n,e;return L(this,(function(r){return n=i(),e=[n,t],29===t&&(e.push(An.fetchStart),e.push(An.connectStart),e.push(An.connectEnd),e.push(An.requestStart),e.push(An.responseStart),e.push(An.responseEnd),e.push(An.domInteractive),e.push(An.domComplete),e.push(An.loadEventStart),e.push(An.loadEventEnd),e.push(An.redirectCount),e.push(An.size),e.push(An.type),e.push(An.protocol),e.push(An.encodedSize),e.push(An.decodedSize),Nn(),gt(e)),[2]}))}))}(29)}var Dn=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint"];function Pn(){try{qn&&qn.disconnect(),qn=new PerformanceObserver(cn(Hn));for(var t=0,n=Dn;t<n.length;t++){var e=n[t];PerformanceObserver.supportedEntryTypes.indexOf(e)>=0&&("layout-shift"===e&&O(9,0),qn.observe({type:e,buffered:!0}))}}catch(t){}}function Hn(t){!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":Rn(r);break;case"resource":var o=r.name;Ct(4,Un(o)),o!==a.upload&&o!==a.fallback||x(28,r.duration);break;case"longtask":M(7);break;case"first-input":n&&x(10,r.processingStart-r.startTime);break;case"layout-shift":n&&!r.hadRecentInput&&O(9,1e3*r.value);break;case"largest-contentful-paint":n&&x(8,r.startTime)}}}(t.getEntries())}function Un(t){var n=document.createElement("a");return n.href=t,n.host}var Ln=[w,w,w,Object.freeze({__proto__:null,start:function(){Nn(),function(){navigator&&"connection"in navigator&&Ct(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?ln(window,"load",T.bind(this,Pn,0)):Pn())}()},stop:function(){qn&&qn.disconnect(),qn=null,Nn()}})];function Vn(t){void 0===t&&(t=null),function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===On&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()&&(zn(t),xn(),et(),Ln.forEach((function(t){return cn(t.start)()})),null===t&&Gn())}function Bn(){jn()&&(Ln.slice().reverse().forEach((function(t){return cn(t.stop)()})),rt(),Tn(),void 0!==Jn&&(Jn[Wn]=function(){(Jn[Wn].q=Jn[Wn].q||[]).push(arguments),"start"===arguments[0]&&Jn[Wn].q.unshift(Jn[Wn].q.pop())&&Gn()}))}var Xn=Object.freeze({__proto__:null,consent:Bt,event:_,hashText:y,identify:X,metadata:Lt,pause:function(){jn()&&(_("clarity","pause"),null===_n&&(_n=new Promise((function(t){Sn=t}))))},resume:function(){jn()&&(En(),_("clarity","resume"))},set:B,signal:function(t){$=t},start:Vn,stop:Bn,upgrade:P,version:s}),Jn=window,Wn="clarity";function Gn(){if(void 0!==Jn){if(Jn[Wn]&&Jn[Wn].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=Jn[Wn]&&Jn[Wn].q||[];for(Jn[Wn]=function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return Xn[t].apply(Xn,n)},Jn[Wn].v=s;t.length>0;)Jn[Wn].apply(Jn,t.shift())}}Gn()}();
1
+ !function(){"use strict";var t=Object.freeze({__proto__:null,get queue(){return gt},get start(){return vt},get stop(){return mt},get track(){return st}}),n=Object.freeze({__proto__:null,get check(){return Et},get compute(){return Mt},get data(){return lt},get start(){return St},get stop(){return Ot},get trigger(){return It}}),e=Object.freeze({__proto__:null,get compute(){return Ct},get data(){return xt},get log(){return At},get reset(){return qt},get start(){return jt},get stop(){return zt},get updates(){return Tt}}),r=Object.freeze({__proto__:null,get callbacks(){return Rt},get clear(){return Xt},get consent(){return Bt},get data(){return Nt},get electron(){return Dt},get id(){return Vt},get metadata(){return Lt},get save(){return Jt},get shortid(){return Zt},get start(){return Ut},get stop(){return Ht}}),o=Object.freeze({__proto__:null,get data(){return nn},get envelope(){return on},get start(){return en},get stop(){return rn}}),a={projectId:null,delay:1e3,lean:!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};function u(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var c=0;function i(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-c),0)}var s="0.7.37";var l=!0,p=null,d=null;function f(t,n,e){return function(){if(l&&null===p)try{p=new RegExp("\\p{N}","gu"),d=new RegExp("\\p{L}","gu"),new RegExp("\\p{Sc}","gu")}catch(t){l=!1}}(),t?t.replace(d,n).replace(p,e):t}var h=[],v=null;function g(){}var m=[];function y(){}function b(){}var w=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:v,hashText:y,keys:m,log:g,observe:function(){},reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:h,stop:function(){},trigger:b}),k=null;function _(t,n){jn()&&t&&"string"==typeof t&&t.length<255&&(k=n&&"string"==typeof n&&n.length<255?{key:t,value:n}:{value:t},_t(24))}var S,E=null,I=null;function M(t){t in E||(E[t]=0),t in I||(I[t]=0),E[t]++,I[t]++}function O(t,n){null!==n&&(t in E||(E[t]=0),t in I||(I[t]=0),E[t]+=n,I[t]+=n)}function x(t,n){null!==n&&!1===isNaN(n)&&(t in E||(E[t]=0),(n>E[t]||0===E[t])&&(I[t]=n,E[t]=n))}function T(t,n,e){return window.setTimeout(cn(t),n,e)}function j(t){return window.clearTimeout(t)}var z=0,A=0,C=null;function q(){C&&j(C),C=T(N,A),z=i()}function N(){var t=i();S={gap:t-z},_t(25),S.gap<3e5?C=T(N,A):On&&(_("clarity","suspend"),Bn(),["mousemove","touchstart"].forEach((function(t){return ln(document,t,An)})),["resize","scroll","pageshow"].forEach((function(t){return ln(window,t,An)})))}var R=Object.freeze({__proto__:null,get data(){return S},reset:q,start:function(){A=6e4,z=0},stop:function(){j(C),z=0,A=0}}),D=null;function P(t){jn()&&a.lean&&(a.lean=!1,D={key:t},Jt(),a.upgrade&&a.upgrade(t),_t(3))}var U=Object.freeze({__proto__:null,get data(){return D},start:function(){!a.lean&&a.upgrade&&a.upgrade("Config"),D=null},stop:function(){D=null},upgrade:P});function H(t,n,e,r){return new(e||(e=Promise))((function(o,a){function u(t){try{i(r.next(t))}catch(t){a(t)}}function c(t){try{i(r.throw(t))}catch(t){a(t)}}function i(t){var n;t.done?o(t.value):(n=t.value,n instanceof e?n:new e((function(t){t(n)}))).then(u,c)}i((r=r.apply(t,n||[])).next())}))}function L(t,n){var e,r,o,a,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(i){return function(c){if(e)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(u=0)),u;)try{if(e=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return u.label++,{value:c[1],done:!1};case 5:u.label++,r=c[1],c=[0];continue;case 7:c=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){u=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){u.label=c[1];break}if(6===c[0]&&u.label<o[1]){u.label=o[1],o=c;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(c);break}o[2]&&u.ops.pop(),u.trys.pop();continue}c=n.call(t,u)}catch(t){c=[6,t],r=0}finally{e=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,i])}}}var V=null;function B(t,n){J(t,"string"==typeof n?[n]:n)}function X(t,n,e,r){return void 0===n&&(n=null),void 0===e&&(e=null),void 0===r&&(r=null),H(this,void 0,void 0,(function(){var o,a;return L(this,(function(u){switch(u.label){case 0:return a={},[4,Z(t)];case 1:return a.userId=u.sent(),a.userHint=r||((c=t)&&c.length>=5?"".concat(c.substring(0,2)).concat(f(c.substring(2),"*","*")):f(c,"*","*")),J("userId",[(o=a).userId]),J("userHint",[o.userHint]),J("userType",[Y(t)]),n&&(J("sessionId",[n]),o.sessionId=n),e&&(J("pageId",[e]),o.pageId=e),[2,o]}var c}))}))}function J(t,n){if(jn()&&t&&n&&"string"==typeof t&&t.length<255){for(var e=(t in V?V[t]:[]),r=0;r<n.length;r++)"string"==typeof n[r]&&n[r].length<255&&e.push(n[r]);V[t]=e}}function W(){_t(34)}function G(){V={}}function Z(t){return H(this,void 0,void 0,(function(){var n;return L(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 Y(t){return t&&t.indexOf("@")>0?"email":"string"}var F="CompressionStream"in window;function K(t){return H(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]),F?(n=new ReadableStream({start:function(n){return H(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,Q(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 Q(t){return H(this,void 0,void 0,(function(){var n,e,r,o,a;return L(this,(function(u){switch(u.label){case 0:n=t.getReader(),e=[],r=!1,o=[],u.label=1;case 1:return r?[3,3]:[4,n.read()];case 2:return a=u.sent(),r=a.done,o=a.value,r?[2,e]:(e.push.apply(e,o),[3,1]);case 3:return[2,e]}}))}))}var $=null;function tt(t){try{if(!$)return;var n=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);n.forEach((function(t){$(t)}))}catch(t){}}var nt=[w,e,Object.freeze({__proto__:null,compute:W,get data(){return V},identify:X,reset:G,set:B,start:function(){G()},stop:function(){G()}}),n,w,r,o,t,R,U,w];function et(){E={},I={},M(5),nt.forEach((function(t){return cn(t.start)()}))}function rt(){nt.slice().reverse().forEach((function(t){return cn(t.stop)()})),E={},I={}}function ot(){W(),Ct(),_t(0),Mt()}var at,ut,ct,it,st,lt,pt=0,dt=0,ft=null,ht=0;function vt(){it=!0,pt=0,dt=0,ht=0,at=[],ut=[],ct={},st=null}function gt(t,n){if(void 0===n&&(n=!0),it){var e=i(),r=t.length>1?t[1]:null,o=JSON.stringify(t);switch(r){case 5:pt+=o.length;case 37:case 6:case 43:case 45:case 46:dt+=o.length,at.push(o);break;default:ut.push(o)}M(25);var u=function(){var t=!1===a.lean&&pt>0?100:nn.sequence*a.delay;return"string"==typeof a.upload?Math.max(Math.min(t,3e4),100):a.delay}();e-ht>2*u&&(j(ft),ft=null),n&&null===ft&&(25!==r&&q(),ft=T(yt,u),ht=e,Et(dt))}}function mt(){j(ft),yt(!0),pt=0,dt=0,ht=0,at=[],ut=[],ct={},st=null,it=!1}function yt(t){return void 0===t&&(t=!1),H(this,void 0,void 0,(function(){var n,e,r,o,u,c,i,s;return L(this,(function(l){switch(l.label){case 0:return ft=null,(n=!1===a.lean&&dt>0&&(dt<1048576||nn.sequence>0))&&x(1,1),ot(),e=!0===t,r=JSON.stringify(on(e)),o="[".concat(ut.join(),"]"),u=n?"[".concat(at.join(),"]"):"",c=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:u}),e?(s=null,[3,3]):[3,1];case 1:return[4,K(c)];case 2:s=l.sent(),l.label=3;case 3:return O(2,(i=s)?i.length:c.length),bt(c,i,nn.sequence,e),ut=[],n&&(at=[],dt=0,pt=0),[2]}}))}))}function bt(t,n,e,r){if(void 0===r&&(r=!1),"string"==typeof a.upload){var o=a.upload,u=!1;if(r&&"sendBeacon"in navigator)try{(u=navigator.sendBeacon.bind(navigator)(o,t))&&kt(e)}catch(t){}if(!1===u){e in ct?ct[e].attempts++:ct[e]={data:t,attempts:1};var c=new XMLHttpRequest;c.open("POST",o,!0),c.timeout=15e3,c.ontimeout=function(){un(new Error("".concat("Timeout"," : ").concat(o)))},null!==e&&(c.onreadystatechange=function(){cn(wt)(c,e)}),c.withCredentials=!0,n?(c.setRequestHeader("Accept","application/x-clarity-gzip"),c.send(n)):c.send(t)}}else if(a.upload){(0,a.upload)(t),kt(e)}}function wt(t,n){var e=ct[n];t&&4===t.readyState&&e&&((t.status<200||t.status>208)&&e.attempts<=1?t.status>=400&&t.status<500?It(6):(0===t.status&&(a.upload=a.fallback?a.fallback:a.upload),bt(e.data,null,n)):(st={sequence:n,attempts:e.attempts,status:t.status},e.attempts>1&&_t(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],u=o&&o.length>0?o.split(/ (.*)/):[""];switch(u[0]){case"END":It(6);break;case"UPGRADE":P("Auto");break;case"ACTION":a.action&&u.length>1&&a.action(u[1]);break;case"EXTRACT":u.length>1&&u[1];break;case"SIGNAL":u.length>1&&tt(u[1])}}}(t.responseText),0===t.status&&(bt(e.data,null,n,!0),It(3)),t.status>=200&&t.status<=208&&kt(n),delete ct[n]))}function kt(t){1===t&&Jt()}function _t(t){var n=[i(),t];switch(t){case 4:var e=h;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),gt(n,!1));break;case 25:n.push(S.gap),gt(n);break;case 35:n.push(lt.check),gt(n,!1);break;case 3:n.push(D.key),gt(n);break;case 2:n.push(st.sequence),n.push(st.attempts),n.push(st.status),gt(n,!1);break;case 24:k.key&&n.push(k.key),n.push(k.value),gt(n);break;case 34:var r=Object.keys(V);if(r.length>0){for(var o=0,a=r;o<a.length;o++){var u=a[o];n.push(u),n.push(V[u])}G(),gt(n,!1)}break;case 0:var c=Object.keys(I);if(c.length>0){for(var s=0,l=c;s<l.length;s++){var p=l[s],d=parseInt(p,10);n.push(d),n.push(Math.round(I[p]))}I={},gt(n,!1)}break;case 1:var f=Object.keys(Tt);if(f.length>0){for(var g=0,y=f;g<y.length;g++){var b=y[g];d=parseInt(b,10);n.push(d),n.push(Tt[b])}qt(),gt(n,!1)}break;case 36:var w=Object.keys(v);if(w.length>0){for(var _=0,E=w;_<E.length;_++){var M=E[_];d=parseInt(M,10);n.push(d),n.push([].concat.apply([],v[M]))}gt(n,!1)}break;case 40:m.forEach((function(t){n.push(t);var e=[];for(var r in v[t]){var o=parseInt(r,10);e.push(o),e.push(v[t][r])}n.push(e)})),gt(n,!1)}}function St(){lt={check:0}}function Et(t){if(0===lt.check){var n=lt.check;n=nn.sequence>=128?1:n,n=nn.pageNum>=128?7:n,n=i()>72e5?2:n,(n=t>10485760?2:n)!==lt.check&&It(n)}}function It(t){lt.check=t,Xt(),Bn()}function Mt(){0!==lt.check&&_t(35)}function Ot(){lt=null}var xt=null,Tt=null;function jt(){xt={},Tt={}}function zt(){xt={},Tt={}}function At(t,n){n&&(n="".concat(n),t in xt||(xt[t]=[]),xt[t].indexOf(n)<0&&(xt[t].push(n),t in Tt||(Tt[t]=[]),Tt[t].push(n),xt[t].length>128&&It(5)))}function Ct(){_t(1)}function qt(){Tt={}}var Nt=null,Rt=[],Dt=0,Pt=null;function Ut(){Pt=null;var t=navigator&&"userAgent"in navigator?navigator.userAgent:"",n=document&&document.title?document.title:"";Dt=t.indexOf("Electron")>0?1:0;var e,r=function(){var t={session:Zt(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},n=Kt("_clsk");if(n){var e=n.split("|");e.length>=5&&t.ts-Yt(e[1])<18e5&&(t.session=e[0],t.count=Yt(e[2])+1,t.upgrade=Yt(e[3]),t.upload=e.length>=6?"".concat("https://").concat(e[5],"/").concat(e[4]):"".concat("https://").concat(e[4]))}return t}(),o=Ft(),u=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);Nt={projectId:u,userId:o.id,sessionId:r.session,pageNum:r.count},a.lean=a.track&&null!==r.upgrade?0===r.upgrade:a.lean,a.upload=a.track&&"string"==typeof a.upload&&r.upload&&r.upload.length>"https://".length?r.upload:a.upload,At(0,t),At(3,n),At(1,function(t,n){if(void 0===n&&(n=!1),n)return"".concat("https://").concat("Electron");var e=a.drop;if(e&&e.length>0&&t&&t.indexOf("?")>0){var r=t.split("?");return r[0]+"?"+r[1].split("&").map((function(t){return e.some((function(n){return 0===t.indexOf("".concat(n,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&")}return t}(location.href,!!Dt)),At(2,document.referrer),At(15,function(){var t=Zt();if(a.track&&Wt(window,"sessionStorage")){var n=sessionStorage.getItem("_cltk");t=n||t,sessionStorage.setItem("_cltk",t)}return t}()),At(16,document.documentElement.lang),At(17,document.dir),At(26,"".concat(window.devicePixelRatio)),At(28,o.dob.toString()),At(29,o.version.toString()),x(0,r.ts),x(1,0),x(35,Dt),navigator&&(At(9,navigator.language),x(33,navigator.hardwareConcurrency),x(32,navigator.maxTouchPoints),x(34,Math.round(navigator.deviceMemory)),(e=navigator.userAgentData)&&e.getHighEntropyValues?e.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var n;At(22,t.platform),At(23,t.platformVersion),null===(n=t.brands)||void 0===n||n.forEach((function(t){At(24,t.name+"~"+t.version)})),At(25,t.model),x(27,t.mobile?1:0)})):At(22,navigator.platform)),screen&&(x(14,Math.round(screen.width)),x(15,Math.round(screen.height)),x(16,Math.round(screen.colorDepth)));for(var c=0,i=a.cookies;c<i.length;c++){var s=i[c],l=Kt(s);l&&B(s,l)}Gt(o)}function Ht(){Pt=null,Nt=null}function Lt(t,n){void 0===n&&(n=!0);var e=a.lean?0:1;Nt&&(e||!1===n)?t(Nt,!a.lean):Rt.push({callback:t,wait:n})}function Vt(){return Nt?[Nt.userId,Nt.sessionId,Nt.pageNum].join("."):""}function Bt(t){if(void 0===t&&(t=!0),!t)return a.track=!1,$t("_clsk","",-Number.MAX_VALUE),$t("_clck","",-Number.MAX_VALUE),Bn(),void window.setTimeout(Vn,250);jn()&&(a.track=!0,Gt(Ft(),1))}function Xt(){$t("_clsk","",0)}function Jt(){var t=Math.round(Date.now()),n=a.upload&&"string"==typeof a.upload?a.upload.replace("https://",""):"",e=a.lean?0:1;!function(t){Rt.length>0&&Rt.forEach((function(n){!n.callback||n.wait&&!t||n.callback(Nt,!a.lean)}))}(e),$t("_clsk",[Nt.sessionId,t,Nt.pageNum,e,n].join("|"),1)}function Wt(t,n){try{return!!t[n]}catch(t){return!1}}function Gt(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)&&$t("_clck",[Nt.userId,2,e.toString(36),n,r].join("|"),365)}function Zt(){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 Yt(t,n){return void 0===n&&(n=10),parseInt(t,n)}function Ft(){var t={id:Zt(),version:0,expiry:null,consent:0,dob:0},n=Kt("_clck");if(n&&n.length>0){for(var e=n.split("|"),r=0,o=0,u=document.cookie.split(";");o<u.length;o++){r+="_clck"===u[o].split("=")[0].trim()?1:0}if(1===e.length||r>1){var c="".concat(";").concat("expires=").concat(new Date(0).toUTCString()).concat(";path=/");document.cookie="".concat("_clck","=").concat(c),document.cookie="".concat("_clsk","=").concat(c)}e.length>1&&(t.version=Yt(e[1])),e.length>2&&(t.expiry=Yt(e[2],36)),e.length>3&&1===Yt(e[3])&&(t.consent=1),e.length>4&&Yt(e[1])>1&&(t.dob=Yt(e[4])),a.track=a.track||1===t.consent,t.id=a.track?e[0]:t.id}return t}function Kt(t){var n;if(Wt(document,"cookie")){var e=document.cookie.split(";");if(e)for(var r=0;r<e.length;r++){var o=e[r].split("=");if(o.length>1&&o[0]&&o[0].trim()===t){for(var a=Qt(o[1]),u=a[0],c=a[1];u;)u=(n=Qt(c))[0],c=n[1];return c}}}return null}function Qt(t){try{var n=decodeURIComponent(t);return[n!=t,n]}catch(t){}return[!1,t]}function $t(t,n,e){if((a.track||""==n)&&(navigator&&navigator.cookieEnabled||Wt(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(n),o=new Date;o.setDate(o.getDate()+e);var u=o?"expires="+o.toUTCString():"",c="".concat(t,"=").concat(r).concat(";").concat(u).concat(";path=/");try{if(null===Pt){for(var i=location.hostname?location.hostname.split("."):[],s=i.length-1;s>=0;s--)if(Pt=".".concat(i[s]).concat(Pt||""),s<i.length-1&&(document.cookie="".concat(c).concat(";").concat("domain=").concat(Pt),Kt(t)===n))return;Pt=""}}catch(t){Pt=""}document.cookie=Pt?"".concat(c).concat(";").concat("domain=").concat(Pt):c}}var tn,nn=null;function en(){var t=Nt;nn={version:s,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0}}function rn(){nn=null}function on(t){return nn.start=nn.start+nn.duration,nn.duration=i()-nn.start,nn.sequence++,nn.upload=t&&"sendBeacon"in navigator?1:0,nn.end=t?1:0,[nn.version,nn.sequence,nn.start,nn.duration,nn.projectId,nn.userId,nn.sessionId,nn.pageNum,nn.upload,nn.end]}function an(){tn=[]}function un(t){if(tn&&-1===tn.indexOf(t.message)){var n=a.report;if(n&&n.length>0){var e={v:nn.version,p:nn.projectId,u:nn.userId,s:nn.sessionId,n:nn.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)),tn.push(t.message)}}return t}function cn(t){return function(){var n=performance.now();try{t.apply(this,arguments)}catch(t){throw un(t)}var e=performance.now()-n;O(4,e),e>30&&(M(7),x(6,e))}}var sn=[];function ln(t,n,e,r){void 0===r&&(r=!1),e=cn(e);try{t[u("addEventListener")](n,e,r),sn.push({event:n,target:t,listener:e,capture:r})}catch(t){}}function pn(){for(var t=0,n=sn;t<n.length;t++){var e=n[t];try{e.target[u("removeEventListener")](e.event,e.listener,e.capture)}catch(t){}}sn=[]}var dn=null,fn=null,hn=null,vn=0;function gn(){return!(vn++>20)}function mn(){vn=0,hn!==bn()&&(Bn(),window.setTimeout(yn,250))}function yn(){Vn(),x(29,1)}function bn(){return location.href?location.href.replace(location.hash,""):location.href}var wn=[],kn=null,_n=null,Sn=null;function En(){_n&&(Sn(),_n=null,null===kn&&Mn())}function In(){wn=[],kn=null,_n=null}function Mn(){var t=wn.shift();t&&(kn=t,t.task().then((function(){t.id===Vt()&&(t.resolve(),kn=null,Mn())})).catch((function(n){t.id===Vt()&&(n&&(n.name,n.message,n.stack),kn=null,Mn())})))}var On=!1;function xn(){On=!0,c=performance.now()+performance.timeOrigin,In(),pn(),an(),hn=bn(),vn=0,ln(window,"popstate",mn),null===dn&&(dn=history.pushState,history.pushState=function(){dn.apply(this,arguments),jn()&&gn()&&mn()}),null===fn&&(fn=history.replaceState,history.replaceState=function(){fn.apply(this,arguments),jn()&&gn()&&mn()})}function Tn(){hn=null,vn=0,an(),pn(),In(),c=0,On=!1}function jn(){return On}function zn(t){if(null===t||On)return!1;for(var n in t)n in a&&(a[n]=t[n]);return!0}function An(){Vn(),_("clarity","restart")}var Cn,qn=null;function Nn(){qn=null}function Rn(t){qn={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){H(this,void 0,void 0,(function(){var n,e;return L(this,(function(r){return n=i(),e=[n,t],29===t&&(e.push(qn.fetchStart),e.push(qn.connectStart),e.push(qn.connectEnd),e.push(qn.requestStart),e.push(qn.responseStart),e.push(qn.responseEnd),e.push(qn.domInteractive),e.push(qn.domComplete),e.push(qn.loadEventStart),e.push(qn.loadEventEnd),e.push(qn.redirectCount),e.push(qn.size),e.push(qn.type),e.push(qn.protocol),e.push(qn.encodedSize),e.push(qn.decodedSize),Nn(),gt(e)),[2]}))}))}(29)}var Dn=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint"];function Pn(){try{Cn&&Cn.disconnect(),Cn=new PerformanceObserver(cn(Un));for(var t=0,n=Dn;t<n.length;t++){var e=n[t];PerformanceObserver.supportedEntryTypes.indexOf(e)>=0&&("layout-shift"===e&&O(9,0),Cn.observe({type:e,buffered:!0}))}}catch(t){}}function Un(t){!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":Rn(r);break;case"resource":var o=r.name;At(4,Hn(o)),o!==a.upload&&o!==a.fallback||x(28,r.duration);break;case"longtask":M(7);break;case"first-input":n&&x(10,r.processingStart-r.startTime);break;case"layout-shift":n&&!r.hadRecentInput&&O(9,1e3*r.value);break;case"largest-contentful-paint":n&&x(8,r.startTime)}}}(t.getEntries())}function Hn(t){var n=document.createElement("a");return n.href=t,n.host}var Ln=[w,w,w,Object.freeze({__proto__:null,start:function(){Nn(),function(){navigator&&"connection"in navigator&&At(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?ln(window,"load",T.bind(this,Pn,0)):Pn())}()},stop:function(){Cn&&Cn.disconnect(),Cn=null,Nn()}})];function Vn(t){void 0===t&&(t=null),function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===On&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()&&(zn(t),xn(),et(),Ln.forEach((function(t){return cn(t.start)()})),null===t&&Gn())}function Bn(){jn()&&(Ln.slice().reverse().forEach((function(t){return cn(t.stop)()})),rt(),Tn(),void 0!==Jn&&(Jn[Wn]=function(){(Jn[Wn].q=Jn[Wn].q||[]).push(arguments),"start"===arguments[0]&&Jn[Wn].q.unshift(Jn[Wn].q.pop())&&Gn()}))}var Xn=Object.freeze({__proto__:null,consent:Bt,event:_,hashText:y,identify:X,metadata:Lt,pause:function(){jn()&&(_("clarity","pause"),null===_n&&(_n=new Promise((function(t){Sn=t}))))},resume:function(){jn()&&(En(),_("clarity","resume"))},set:B,signal:function(t){$=t},start:Vn,stop:Bn,upgrade:P,version:s}),Jn=window,Wn="clarity";function Gn(){if(void 0!==Jn){if(Jn[Wn]&&Jn[Wn].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=Jn[Wn]&&Jn[Wn].q||[];for(Jn[Wn]=function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return Xn[t].apply(Xn,n)},Jn[Wn].v=s;t.length>0;)Jn[Wn].apply(Jn,t.shift())}}Gn()}();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clarity-js",
3
- "version": "0.7.34",
3
+ "version": "0.7.37",
4
4
  "description": "An analytics library that uses web page interactions to generate aggregated insights",
5
5
  "author": "Microsoft Corp.",
6
6
  "license": "MIT",
@@ -1,2 +1,2 @@
1
- let version = "0.7.34";
1
+ let version = "0.7.37";
2
2
  export default version;
@@ -1,4 +1,6 @@
1
1
  export let state = [];
2
+ export let sheetAdoptionState = [];
3
+ export let sheetUpdateState = [];
2
4
  export let data = null;
3
5
 
4
6
  /* Intentionally blank module with empty code */
@@ -3,13 +3,12 @@ import { StyleSheetState } from "@clarity-types/layout";
3
3
  import * as core from "@src/core";
4
4
  import * as metric from "@src/data/metric";
5
5
 
6
- export let state: StyleSheetState[] = [];
6
+ export let sheetAdoptionState: StyleSheetState[] = [];
7
+ export let sheetUpdateState: StyleSheetState[] = [];
7
8
  let replace: (text?: string) => Promise<CSSStyleSheet> = null;
8
9
  let replaceSync: (text?: string) => void = null;
9
10
 
10
11
  export function start(): void {
11
- reset();
12
-
13
12
  if (replace === null) {
14
13
  replace = CSSStyleSheet.prototype.replace;
15
14
  CSSStyleSheet.prototype.replace = function(): Promise<CSSStyleSheet> {
@@ -44,7 +43,8 @@ export function compute(): void {
44
43
  }
45
44
 
46
45
  export function reset(): void {
47
- state = [];
46
+ sheetAdoptionState = [];
47
+ sheetUpdateState = [];
48
48
  }
49
49
 
50
50
  export function stop(): void {
@@ -38,17 +38,15 @@ export default async function (type: Event, timer: Timer = null, ts: number = nu
38
38
  region.reset();
39
39
  break;
40
40
  case Event.StyleSheetAdoption:
41
- for (let entry of style.state) {
41
+ case Event.StyleSheetUpdate:
42
+ for (let entry of style.sheetAdoptionState) {
42
43
  tokens = [entry.time, entry.event];
43
44
  tokens.push(entry.data.id);
44
45
  tokens.push(entry.data.operation);
45
46
  tokens.push(entry.data.newIds);
46
47
  queue(tokens);
47
48
  }
48
- style.reset();
49
- break;
50
- case Event.StyleSheetUpdate:
51
- for (let entry of style.state) {
49
+ for (let entry of style.sheetUpdateState) {
52
50
  tokens = [entry.time, entry.event];
53
51
  tokens.push(entry.data.id);
54
52
  tokens.push(entry.data.operation);
@@ -56,6 +54,7 @@ export default async function (type: Event, timer: Timer = null, ts: number = nu
56
54
  queue(tokens);
57
55
  }
58
56
  style.reset();
57
+ break;
59
58
  case Event.Animation:
60
59
  for (let entry of animation.state) {
61
60
  tokens = [entry.time, entry.event];
@@ -3,29 +3,33 @@ import { StyleSheetOperation, StyleSheetState } from "@clarity-types/layout";
3
3
  import { time } from "@src/core/time";
4
4
  import { shortid, data as metadataFields } from "@src/data/metadata";
5
5
  import encode from "@src/layout/encode";
6
- import { getId, getNode } from "@src/layout/dom";
6
+ import { getId } from "@src/layout/dom";
7
7
  import * as core from "@src/core";
8
8
  import { getCssRules } from "./node";
9
9
  import * as metric from "@src/data/metric";
10
10
 
11
- export let state: StyleSheetState[] = [];
11
+ export let sheetUpdateState: StyleSheetState[] = [];
12
+ export let sheetAdoptionState: StyleSheetState[] = [];
12
13
  let replace: (text?: string) => Promise<CSSStyleSheet> = null;
13
14
  let replaceSync: (text?: string) => void = null;
14
15
  const styleSheetId = 'claritySheetId';
15
16
  const styleSheetPageNum = 'claritySheetNum';
16
17
  let styleSheetMap = {};
17
18
  let styleTimeMap: {[key: string]: number} = {};
19
+ let documentNodes = [];
18
20
 
19
21
  export function start(): void {
20
- reset();
21
-
22
22
  if (replace === null) {
23
23
  replace = CSSStyleSheet.prototype.replace;
24
24
  CSSStyleSheet.prototype.replace = function(): Promise<CSSStyleSheet> {
25
25
  if (core.active()) {
26
26
  metric.max(Metric.ConstructedStyles, 1);
27
- bootStrapStyleSheet(this);
28
- trackStyleChange(time(), this[styleSheetId], StyleSheetOperation.Replace, arguments[0]);
27
+ // if we haven't seen this stylesheet on this page yet, wait until the checkDocumentStyles has found it
28
+ // and attached the sheet to a document. This way the timestamp of the style sheet creation will align
29
+ // to when it is used in the document rather than potentially being misaligned during the traverse process.
30
+ if (this[styleSheetPageNum] === metadataFields.pageNum) {
31
+ trackStyleChange(time(), this[styleSheetId], StyleSheetOperation.Replace, arguments[0]);
32
+ }
29
33
  }
30
34
  return replace.apply(this, arguments);
31
35
  };
@@ -36,28 +40,22 @@ export function start(): void {
36
40
  CSSStyleSheet.prototype.replaceSync = function(): void {
37
41
  if (core.active()) {
38
42
  metric.max(Metric.ConstructedStyles, 1);
39
- bootStrapStyleSheet(this);
40
- trackStyleChange(time(), this[styleSheetId], StyleSheetOperation.ReplaceSync, arguments[0]);
43
+ // if we haven't seen this stylesheet on this page yet, wait until the checkDocumentStyles has found it
44
+ // and attached the sheet to a document. This way the timestamp of the style sheet creation will align
45
+ // to when it is used in the document rather than potentially being misaligned during the traverse process.
46
+ if (this[styleSheetPageNum] === metadataFields.pageNum) {
47
+ trackStyleChange(time(), this[styleSheetId], StyleSheetOperation.ReplaceSync, arguments[0]);
48
+ }
41
49
  }
42
50
  return replaceSync.apply(this, arguments);
43
51
  };
44
52
  }
45
53
  }
46
54
 
47
- function bootStrapStyleSheet(styleSheet: CSSStyleSheet): void {
48
- // If we haven't seen this style sheet on this page yet, we create a reference to it for the visualizer.
49
- // For SPA or times in which Clarity restarts on a given page, our visualizer would lose context
50
- // on the previously created style sheet for page N-1.
51
- const pageNum = metadataFields.pageNum;
52
- if (styleSheet[styleSheetPageNum] !== pageNum) {
53
- styleSheet[styleSheetPageNum] = pageNum;
54
- styleSheet[styleSheetId] = shortid();
55
- // need to pass a create style sheet event (don't add it to any nodes, but do create it)
56
- trackStyleChange(time(), styleSheet[styleSheetId], StyleSheetOperation.Create);
57
- }
58
- }
59
-
60
55
  export function checkDocumentStyles(documentNode: Document, timestamp: number): void {
56
+ if (documentNodes.indexOf(documentNode) === -1) {
57
+ documentNodes.push(documentNode);
58
+ }
61
59
  timestamp = timestamp || time();
62
60
  if (!documentNode?.adoptedStyleSheets) {
63
61
  // if we don't have adoptedStyledSheets on the Node passed to us, we can short circuit.
@@ -67,7 +65,10 @@ export function checkDocumentStyles(documentNode: Document, timestamp: number):
67
65
  let currentStyleSheets: string[] = [];
68
66
  for (var styleSheet of documentNode.adoptedStyleSheets) {
69
67
  const pageNum = metadataFields.pageNum;
70
- // if we haven't seen this style sheet, create it and call replaceSync with its contents to bootstrap it
68
+ // If we haven't seen this style sheet on this page yet, we create a reference to it for the visualizer.
69
+ // For SPA or times in which Clarity restarts on a given page, our visualizer would lose context
70
+ // on the previously created style sheet for page N-1.
71
+ // Then we synthetically call replaceSync with its contents to bootstrap it
71
72
  if (styleSheet[styleSheetPageNum] !== pageNum) {
72
73
  styleSheet[styleSheetPageNum] = pageNum;
73
74
  styleSheet[styleSheetId] = shortid();
@@ -90,23 +91,27 @@ export function checkDocumentStyles(documentNode: Document, timestamp: number):
90
91
  }
91
92
 
92
93
  export function compute(): void {
93
- let ts = -1 in styleTimeMap ? styleTimeMap[-1] : null;
94
- checkDocumentStyles(document, ts);
95
- Object.keys(styleSheetMap).forEach((x) => checkDocumentStyles(getNode(parseInt(x, 10)) as Document, styleTimeMap[x]));
94
+ for (var documentNode of documentNodes) {
95
+ var docId = documentNode == document ? -1 : getId(documentNode);
96
+ let ts = docId in styleTimeMap ? styleTimeMap[docId] : null;
97
+ checkDocumentStyles(document, ts);
98
+ }
96
99
  }
97
100
 
98
101
  export function reset(): void {
99
- state = [];
102
+ sheetAdoptionState = [];
103
+ sheetUpdateState = [];
100
104
  }
101
105
 
102
106
  export function stop(): void {
103
107
  styleSheetMap = {};
104
108
  styleTimeMap = {};
109
+ documentNodes = [];
105
110
  reset();
106
111
  }
107
112
 
108
113
  function trackStyleChange(time: number, id: string, operation: StyleSheetOperation, cssRules?: string): void {
109
- state.push({
114
+ sheetUpdateState.push({
110
115
  time,
111
116
  event: Event.StyleSheetUpdate,
112
117
  data: {
@@ -120,7 +125,7 @@ function trackStyleChange(time: number, id: string, operation: StyleSheetOperati
120
125
  }
121
126
 
122
127
  function trackStyleAdoption(time: number, id: number, operation: StyleSheetOperation, newIds: string[]): void {
123
- state.push({
128
+ sheetAdoptionState.push({
124
129
  time,
125
130
  event: Event.StyleSheetAdoption,
126
131
  data: {