clarity-js 0.8.26 → 0.8.28

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.
@@ -171,7 +171,7 @@ var startTime = 0;
171
171
  function computeStartTime() {
172
172
  return performance.now() + performance.timeOrigin;
173
173
  }
174
- function start$K() {
174
+ function start$L() {
175
175
  startTime = computeStartTime();
176
176
  }
177
177
  // event.timestamp is number of milliseconds elapsed since the document was loaded
@@ -187,11 +187,11 @@ function time(event) {
187
187
  var origin = event && event.view ? event.view.performance.timeOrigin : performance.timeOrigin;
188
188
  return Math.max(Math.round(ts + origin - baseline), 0);
189
189
  }
190
- function stop$H() {
190
+ function stop$I() {
191
191
  startTime = 0;
192
192
  }
193
193
 
194
- var version$1 = "0.8.26";
194
+ var version$1 = "0.8.28";
195
195
 
196
196
  // tslint:disable: no-bitwise
197
197
  function hash (input, precision) {
@@ -412,11 +412,11 @@ function redact$1(value) {
412
412
  var state$b = null;
413
413
  var buffer = null;
414
414
  var update$2 = false;
415
- function start$J() {
415
+ function start$K() {
416
416
  update$2 = false;
417
- reset$s();
417
+ reset$t();
418
418
  }
419
- function reset$s() {
419
+ function reset$t() {
420
420
  // Baseline state holds the previous values - if it is updated in the current payload,
421
421
  // reset the state to current value after sending the previous state
422
422
  if (update$2) {
@@ -544,38 +544,38 @@ function visibility(t, visible) {
544
544
  }
545
545
  update$2 = true;
546
546
  }
547
- function compute$f() {
547
+ function compute$g() {
548
548
  if (update$2) {
549
549
  encode$1(4 /* Event.Baseline */);
550
550
  }
551
551
  }
552
- function stop$G() {
553
- reset$s();
552
+ function stop$H() {
553
+ reset$t();
554
554
  }
555
555
 
556
556
  var baseline = /*#__PURE__*/Object.freeze({
557
557
  __proto__: null,
558
558
  activity: activity,
559
- compute: compute$f,
560
- reset: reset$s,
561
- start: start$J,
559
+ compute: compute$g,
560
+ reset: reset$t,
561
+ start: start$K,
562
562
  get state () { return state$b; },
563
- stop: stop$G,
563
+ stop: stop$H,
564
564
  track: track$8,
565
565
  visibility: visibility
566
566
  });
567
567
 
568
- var data$k = null;
568
+ var data$l = null;
569
569
  var updateConsent = true;
570
- function start$I() {
570
+ function start$J() {
571
571
  updateConsent = true;
572
572
  }
573
- function stop$F() {
573
+ function stop$G() {
574
574
  updateConsent = true;
575
575
  }
576
576
  function config$1(consent) {
577
577
  trackConsent(consent.analytics_Storage ? 1 /* ConsentType.Implicit */ : 0 /* ConsentType.None */);
578
- data$k = consent;
578
+ data$l = consent;
579
579
  }
580
580
  // When we get consent signal as false, we restart the service and track config as false.
581
581
  function consent$1() {
@@ -585,11 +585,11 @@ function trackConsent(consent) {
585
585
  log(36 /* Dimension.Consent */, consent.toString());
586
586
  }
587
587
  function consentv2$1(consent) {
588
- data$k = consent;
588
+ data$l = consent;
589
589
  encode$1(47 /* Event.Consent */);
590
590
  }
591
591
  // Compute function is called every upload, but we only want to send consent data once.
592
- function compute$e() {
592
+ function compute$f() {
593
593
  if (updateConsent) {
594
594
  encode$1(47 /* Event.Consent */);
595
595
  updateConsent = false;
@@ -598,16 +598,16 @@ function compute$e() {
598
598
 
599
599
  var consent$2 = /*#__PURE__*/Object.freeze({
600
600
  __proto__: null,
601
- compute: compute$e,
601
+ compute: compute$f,
602
602
  config: config$1,
603
603
  consent: consent$1,
604
604
  consentv2: consentv2$1,
605
- get data () { return data$k; },
606
- start: start$I,
607
- stop: stop$F
605
+ get data () { return data$l; },
606
+ start: start$J,
607
+ stop: stop$G
608
608
  });
609
609
 
610
- var data$j = null;
610
+ var data$k = null;
611
611
  // custom events allow 2 parameters or 1 parameter to be passed. If 2 are passed we
612
612
  // consider it a key value pair. If only 1 is passed we only consider the event to have a value.
613
613
  function event(a, b) {
@@ -616,64 +616,64 @@ function event(a, b) {
616
616
  typeof a === "string" /* Constant.String */ &&
617
617
  a.length < 255) {
618
618
  if (b && typeof b === "string" /* Constant.String */ && b.length < 255) {
619
- data$j = { key: a, value: b };
619
+ data$k = { key: a, value: b };
620
620
  }
621
621
  else {
622
- data$j = { value: a };
622
+ data$k = { value: a };
623
623
  }
624
624
  encode$1(24 /* Event.Custom */);
625
625
  }
626
626
  }
627
627
 
628
- var data$i = null;
628
+ var data$j = null;
629
629
  var updates$3 = null;
630
- function start$H() {
631
- data$i = {};
630
+ function start$I() {
631
+ data$j = {};
632
632
  updates$3 = {};
633
633
  count$1(5 /* Metric.InvokeCount */);
634
634
  }
635
- function stop$E() {
636
- data$i = {};
635
+ function stop$F() {
636
+ data$j = {};
637
637
  updates$3 = {};
638
638
  }
639
639
  function count$1(metric) {
640
- if (!(metric in data$i)) {
641
- data$i[metric] = 0;
640
+ if (!(metric in data$j)) {
641
+ data$j[metric] = 0;
642
642
  }
643
643
  if (!(metric in updates$3)) {
644
644
  updates$3[metric] = 0;
645
645
  }
646
- data$i[metric]++;
646
+ data$j[metric]++;
647
647
  updates$3[metric]++;
648
648
  }
649
649
  function sum(metric, value) {
650
650
  if (value !== null) {
651
- if (!(metric in data$i)) {
652
- data$i[metric] = 0;
651
+ if (!(metric in data$j)) {
652
+ data$j[metric] = 0;
653
653
  }
654
654
  if (!(metric in updates$3)) {
655
655
  updates$3[metric] = 0;
656
656
  }
657
- data$i[metric] += value;
657
+ data$j[metric] += value;
658
658
  updates$3[metric] += value;
659
659
  }
660
660
  }
661
661
  function max(metric, value) {
662
662
  // Ensure that we do not process null or NaN values
663
663
  if (value !== null && isNaN(value) === false) {
664
- if (!(metric in data$i)) {
665
- data$i[metric] = 0;
664
+ if (!(metric in data$j)) {
665
+ data$j[metric] = 0;
666
666
  }
667
- if (value > data$i[metric] || data$i[metric] === 0) {
667
+ if (value > data$j[metric] || data$j[metric] === 0) {
668
668
  updates$3[metric] = value;
669
- data$i[metric] = value;
669
+ data$j[metric] = value;
670
670
  }
671
671
  }
672
672
  }
673
- function compute$d() {
673
+ function compute$e() {
674
674
  encode$1(0 /* Event.Metric */);
675
675
  }
676
- function reset$r() {
676
+ function reset$s() {
677
677
  updates$3 = {};
678
678
  }
679
679
 
@@ -684,15 +684,15 @@ function clearTimeout$1(handle) {
684
684
  return window.clearTimeout(handle);
685
685
  }
686
686
 
687
- var data$h;
687
+ var data$i;
688
688
  var last = 0;
689
689
  var interval = 0;
690
690
  var timeout$7 = null;
691
- function start$G() {
691
+ function start$H() {
692
692
  interval = 60000 /* Setting.PingInterval */;
693
693
  last = 0;
694
694
  }
695
- function reset$q() {
695
+ function reset$r() {
696
696
  if (timeout$7) {
697
697
  clearTimeout$1(timeout$7);
698
698
  }
@@ -701,16 +701,16 @@ function reset$q() {
701
701
  }
702
702
  function ping() {
703
703
  var now = time();
704
- data$h = { gap: now - last };
704
+ data$i = { gap: now - last };
705
705
  encode$1(25 /* Event.Ping */);
706
- if (data$h.gap < 300000 /* Setting.PingTimeout */) {
706
+ if (data$i.gap < 300000 /* Setting.PingTimeout */) {
707
707
  timeout$7 = setTimeout$1(ping, interval);
708
708
  }
709
709
  else {
710
710
  suspend();
711
711
  }
712
712
  }
713
- function stop$D() {
713
+ function stop$E() {
714
714
  clearTimeout$1(timeout$7);
715
715
  last = 0;
716
716
  interval = 0;
@@ -718,50 +718,50 @@ function stop$D() {
718
718
 
719
719
  var ping$1 = /*#__PURE__*/Object.freeze({
720
720
  __proto__: null,
721
- get data () { return data$h; },
722
- reset: reset$q,
723
- start: start$G,
724
- stop: stop$D
721
+ get data () { return data$i; },
722
+ reset: reset$r,
723
+ start: start$H,
724
+ stop: stop$E
725
725
  });
726
726
 
727
- var data$g = null;
728
- function start$F() {
729
- data$g = {};
727
+ var data$h = null;
728
+ function start$G() {
729
+ data$h = {};
730
730
  }
731
- function stop$C() {
732
- data$g = {};
731
+ function stop$D() {
732
+ data$h = {};
733
733
  }
734
734
  function track$7(event, time) {
735
- if (!(event in data$g)) {
736
- data$g[event] = [[time, 0]];
735
+ if (!(event in data$h)) {
736
+ data$h[event] = [[time, 0]];
737
737
  }
738
738
  else {
739
- var e = data$g[event];
739
+ var e = data$h[event];
740
740
  var last = e[e.length - 1];
741
741
  // Add a new entry only if the new event occurs after configured interval
742
742
  // Otherwise, extend the duration of the previous entry
743
743
  if (time - last[0] > 100 /* Setting.SummaryInterval */) {
744
- data$g[event].push([time, 0]);
744
+ data$h[event].push([time, 0]);
745
745
  }
746
746
  else {
747
747
  last[1] = time - last[0];
748
748
  }
749
749
  }
750
750
  }
751
- function compute$c() {
751
+ function compute$d() {
752
752
  encode$1(36 /* Event.Summary */);
753
753
  }
754
- function reset$p() {
755
- data$g = {};
754
+ function reset$q() {
755
+ data$h = {};
756
756
  }
757
757
 
758
758
  var summary = /*#__PURE__*/Object.freeze({
759
759
  __proto__: null,
760
- compute: compute$c,
761
- get data () { return data$g; },
762
- reset: reset$p,
763
- start: start$F,
764
- stop: stop$C,
760
+ compute: compute$d,
761
+ get data () { return data$h; },
762
+ reset: reset$q,
763
+ start: start$G,
764
+ stop: stop$D,
765
765
  track: track$7
766
766
  });
767
767
 
@@ -878,9 +878,9 @@ function read(stream) {
878
878
  });
879
879
  }
880
880
 
881
- var data$f = null;
882
- function start$E() {
883
- reset$o();
881
+ var data$g = null;
882
+ function start$F() {
883
+ reset$p();
884
884
  }
885
885
  function set(variable, value) {
886
886
  var values = typeof value === "string" /* Constant.String */ ? [value] : value;
@@ -926,23 +926,23 @@ function log$2(variable, value) {
926
926
  value &&
927
927
  typeof variable === "string" /* Constant.String */ &&
928
928
  variable.length < 255) {
929
- var validValues = variable in data$f ? data$f[variable] : [];
929
+ var validValues = variable in data$g ? data$g[variable] : [];
930
930
  for (var i = 0; i < value.length; i++) {
931
931
  if (typeof value[i] === "string" /* Constant.String */ && value[i].length < 255) {
932
932
  validValues.push(value[i]);
933
933
  }
934
934
  }
935
- data$f[variable] = validValues;
935
+ data$g[variable] = validValues;
936
936
  }
937
937
  }
938
- function compute$b() {
938
+ function compute$c() {
939
939
  encode$1(34 /* Event.Variable */);
940
940
  }
941
- function reset$o() {
942
- data$f = {};
941
+ function reset$p() {
942
+ data$g = {};
943
943
  }
944
- function stop$B() {
945
- reset$o();
944
+ function stop$C() {
945
+ reset$p();
946
946
  }
947
947
  function redact(input) {
948
948
  return input && input.length >= 5 /* Setting.WordLength */ ?
@@ -976,23 +976,23 @@ function detect(input) {
976
976
 
977
977
  var variable = /*#__PURE__*/Object.freeze({
978
978
  __proto__: null,
979
- compute: compute$b,
980
- get data () { return data$f; },
979
+ compute: compute$c,
980
+ get data () { return data$g; },
981
981
  identify: identify,
982
- reset: reset$o,
982
+ reset: reset$p,
983
983
  set: set,
984
- start: start$E,
985
- stop: stop$B
984
+ start: start$F,
985
+ stop: stop$C
986
986
  });
987
987
 
988
- var data$e = {};
988
+ var data$f = {};
989
989
  var keys = new Set();
990
990
  var variables = {};
991
991
  var selectors = {};
992
992
  var hashes = {};
993
993
  var validation = {};
994
- function start$D() {
995
- reset$n();
994
+ function start$E() {
995
+ reset$o();
996
996
  }
997
997
  // Input string is of the following form:
998
998
  // EXTRACT 101|element { "1": ".class1", "2": "~window.a.b", "3": "!abc"}
@@ -1044,7 +1044,7 @@ function trigger$2(input) {
1044
1044
  function clone$1(v) {
1045
1045
  return JSON.parse(JSON.stringify(v));
1046
1046
  }
1047
- function compute$a() {
1047
+ function compute$b() {
1048
1048
  try {
1049
1049
  for (var v in variables) {
1050
1050
  var key = parseInt(v);
@@ -1088,27 +1088,27 @@ function compute$a() {
1088
1088
  log$1(5 /* Code.Selector */, 1 /* Severity.Warning */, e ? e.name : null);
1089
1089
  }
1090
1090
  }
1091
- function reset$n() {
1091
+ function reset$o() {
1092
1092
  keys.clear();
1093
1093
  }
1094
1094
  function update$1(key, subkey, value) {
1095
1095
  var update = false;
1096
- if (!(key in data$e)) {
1097
- data$e[key] = {};
1096
+ if (!(key in data$f)) {
1097
+ data$f[key] = {};
1098
1098
  update = true;
1099
1099
  }
1100
1100
  if (!isEmpty(hashes[key])
1101
- && (!(subkey in data$e[key]) || data$e[key][subkey] != value)) {
1101
+ && (!(subkey in data$f[key]) || data$f[key][subkey] != value)) {
1102
1102
  update = true;
1103
1103
  }
1104
- data$e[key][subkey] = value;
1104
+ data$f[key][subkey] = value;
1105
1105
  if (update) {
1106
1106
  keys.add(key);
1107
1107
  }
1108
1108
  return;
1109
1109
  }
1110
- function stop$A() {
1111
- reset$n();
1110
+ function stop$B() {
1111
+ reset$o();
1112
1112
  }
1113
1113
  function parse$1(variable) {
1114
1114
  var syntax = [];
@@ -1176,12 +1176,12 @@ function isEmpty(obj) {
1176
1176
  var extract = /*#__PURE__*/Object.freeze({
1177
1177
  __proto__: null,
1178
1178
  clone: clone$1,
1179
- compute: compute$a,
1180
- data: data$e,
1179
+ compute: compute$b,
1180
+ data: data$f,
1181
1181
  keys: keys,
1182
- reset: reset$n,
1183
- start: start$D,
1184
- stop: stop$A,
1182
+ reset: reset$o,
1183
+ start: start$E,
1184
+ stop: stop$B,
1185
1185
  trigger: trigger$2,
1186
1186
  update: update$1
1187
1187
  });
@@ -1215,33 +1215,33 @@ function signalsEvent(signalsPayload) {
1215
1215
  }
1216
1216
 
1217
1217
  var modules$1 = [baseline, dimension, variable, limit, summary, consent$2, metadata$1, envelope$1, upload$1, ping$1, upgrade$1, extract];
1218
- function start$C() {
1218
+ function start$D() {
1219
1219
  // Metric needs to be initialized before we can start measuring. so metric is not wrapped in measure
1220
- start$H();
1220
+ start$I();
1221
1221
  modules$1.forEach(function (x) { return measure(x.start)(); });
1222
1222
  }
1223
- function stop$z() {
1223
+ function stop$A() {
1224
1224
  // Stop modules in the reverse order of their initialization
1225
1225
  // The ordering below should respect inter-module dependency.
1226
1226
  // E.g. if upgrade depends on upload, then upgrade needs to end before upload.
1227
1227
  // Similarly, if upload depends on metadata, upload needs to end before metadata.
1228
1228
  modules$1.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
1229
- stop$E();
1229
+ stop$F();
1230
1230
  }
1231
- function compute$9() {
1232
- compute$b();
1233
- compute$f();
1231
+ function compute$a() {
1232
+ compute$c();
1233
+ compute$g();
1234
1234
  compute$2();
1235
+ compute$e();
1235
1236
  compute$d();
1236
- compute$c();
1237
1237
  compute$3();
1238
- compute$a();
1239
- compute$e();
1238
+ compute$b();
1239
+ compute$f();
1240
1240
  }
1241
1241
 
1242
1242
  var history$5 = [];
1243
- var data$d;
1244
- function start$B() {
1243
+ var data$e;
1244
+ function start$C() {
1245
1245
  history$5 = [];
1246
1246
  max(26 /* Metric.Automation */, navigator.webdriver ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */);
1247
1247
  try {
@@ -1255,18 +1255,18 @@ function start$B() {
1255
1255
  function check$4(id, target, input) {
1256
1256
  // Compute hash for fraud detection, if enabled. Hash is computed only if input meets the minimum length criteria
1257
1257
  if (config$2.fraud && id !== null && input && input.length >= 5 /* Setting.WordLength */) {
1258
- data$d = { id: id, target: target, checksum: hash(input, 28 /* Setting.ChecksumPrecision */) };
1258
+ data$e = { id: id, target: target, checksum: hash(input, 28 /* Setting.ChecksumPrecision */) };
1259
1259
  // Only encode this event if we haven't already reported this hash
1260
- if (history$5.indexOf(data$d.checksum) < 0) {
1261
- history$5.push(data$d.checksum);
1260
+ if (history$5.indexOf(data$e.checksum) < 0) {
1261
+ history$5.push(data$e.checksum);
1262
1262
  encode$2(41 /* Event.Fraud */);
1263
1263
  }
1264
1264
  }
1265
1265
  }
1266
1266
 
1267
1267
  var state$a = [];
1268
- function start$A() {
1269
- reset$m();
1268
+ function start$B() {
1269
+ reset$n();
1270
1270
  }
1271
1271
  function observe$c(root) {
1272
1272
  bind(root, "change", recompute$8, true);
@@ -1280,11 +1280,11 @@ function recompute$8(evt) {
1280
1280
  schedule(encode$4.bind(this, 42 /* Event.Change */));
1281
1281
  }
1282
1282
  }
1283
- function reset$m() {
1283
+ function reset$n() {
1284
1284
  state$a = [];
1285
1285
  }
1286
- function stop$y() {
1287
- reset$m();
1286
+ function stop$z() {
1287
+ reset$n();
1288
1288
  }
1289
1289
 
1290
1290
  function offset(element) {
@@ -1305,8 +1305,8 @@ function offset(element) {
1305
1305
 
1306
1306
  var UserInputTags = ["input", "textarea", "radio", "button", "canvas", "select"];
1307
1307
  var state$9 = [];
1308
- function start$z() {
1309
- reset$l();
1308
+ function start$A() {
1309
+ reset$m();
1310
1310
  }
1311
1311
  function observe$b(root) {
1312
1312
  bind(root, "click", handler$3.bind(this, 9 /* Event.Click */, root), true);
@@ -1432,16 +1432,16 @@ function context(a) {
1432
1432
  }
1433
1433
  return 0 /* BrowsingContext.Self */;
1434
1434
  }
1435
- function reset$l() {
1435
+ function reset$m() {
1436
1436
  state$9 = [];
1437
1437
  }
1438
- function stop$x() {
1439
- reset$l();
1438
+ function stop$y() {
1439
+ reset$m();
1440
1440
  }
1441
1441
 
1442
1442
  var state$8 = [];
1443
- function start$y() {
1444
- reset$k();
1443
+ function start$z() {
1444
+ reset$l();
1445
1445
  }
1446
1446
  function observe$a(root) {
1447
1447
  bind(root, "cut", recompute$7.bind(this, 0 /* Clipboard.Cut */), true);
@@ -1452,17 +1452,17 @@ function recompute$7(action, evt) {
1452
1452
  state$8.push({ time: time(evt), event: 38 /* Event.Clipboard */, data: { target: target(evt), action: action } });
1453
1453
  schedule(encode$4.bind(this, 38 /* Event.Clipboard */));
1454
1454
  }
1455
- function reset$k() {
1455
+ function reset$l() {
1456
1456
  state$8 = [];
1457
1457
  }
1458
- function stop$w() {
1459
- reset$k();
1458
+ function stop$x() {
1459
+ reset$l();
1460
1460
  }
1461
1461
 
1462
1462
  var timeout$6 = null;
1463
1463
  var state$7 = [];
1464
- function start$x() {
1465
- reset$j();
1464
+ function start$y() {
1465
+ reset$k();
1466
1466
  }
1467
1467
  function observe$9(root) {
1468
1468
  bind(root, "input", recompute$6, true);
@@ -1492,12 +1492,12 @@ function recompute$6(evt) {
1492
1492
  function process$7(event) {
1493
1493
  schedule(encode$4.bind(this, event));
1494
1494
  }
1495
- function reset$j() {
1495
+ function reset$k() {
1496
1496
  state$7 = [];
1497
1497
  }
1498
- function stop$v() {
1498
+ function stop$w() {
1499
1499
  clearTimeout$1(timeout$6);
1500
- reset$j();
1500
+ reset$k();
1501
1501
  }
1502
1502
 
1503
1503
  var state$6 = [];
@@ -1505,8 +1505,8 @@ var timeout$5 = null;
1505
1505
  var hasPrimaryTouch = false;
1506
1506
  var primaryTouchId = 0;
1507
1507
  var activeTouchPointIds = new Set();
1508
- function start$w() {
1509
- reset$i();
1508
+ function start$x() {
1509
+ reset$j();
1510
1510
  }
1511
1511
  function observe$8(root) {
1512
1512
  bind(root, "mousedown", mouse.bind(this, 13 /* Event.MouseDown */, root), true);
@@ -1601,7 +1601,7 @@ function handler$2(current) {
1601
1601
  function process$6(event) {
1602
1602
  schedule(encode$4.bind(this, event));
1603
1603
  }
1604
- function reset$i() {
1604
+ function reset$j() {
1605
1605
  state$6 = [];
1606
1606
  }
1607
1607
  function similar$1(last, current) {
@@ -1613,7 +1613,7 @@ function similar$1(last, current) {
1613
1613
  var sameId = current.data.id !== undefined ? current.data.id === last.data.id : true;
1614
1614
  return current.event === last.event && match && distance < 20 /* Setting.Distance */ && gap < 25 /* Setting.PointerInterval */ && sameId;
1615
1615
  }
1616
- function stop$u() {
1616
+ function stop$v() {
1617
1617
  clearTimeout$1(timeout$5);
1618
1618
  // Send out any pending pointer events in the pipeline
1619
1619
  if (state$6.length > 0) {
@@ -1669,11 +1669,11 @@ function throttle(func, duration) {
1669
1669
  return throttledFunction;
1670
1670
  }
1671
1671
 
1672
- var data$c;
1672
+ var data$d;
1673
1673
  var timeout$4 = null;
1674
1674
  var initialStateLogged = false;
1675
1675
  var throttledRecompute$1 = throttle(recompute$5, 500 /* Setting.LookAhead */);
1676
- function start$v() {
1676
+ function start$w() {
1677
1677
  initialStateLogged = false;
1678
1678
  bind(window, "resize", throttledRecompute$1);
1679
1679
  recompute$5();
@@ -1682,7 +1682,7 @@ function recompute$5() {
1682
1682
  var de = document.documentElement;
1683
1683
  // window.innerWidth includes width of the scrollbar and is not a true representation of the viewport width.
1684
1684
  // Therefore, when possible, use documentElement's clientWidth property.
1685
- data$c = {
1685
+ data$d = {
1686
1686
  width: de && "clientWidth" in de ? Math.min(de.clientWidth, window.innerWidth) : window.innerWidth,
1687
1687
  height: de && "clientHeight" in de ? Math.min(de.clientHeight, window.innerHeight) : window.innerHeight,
1688
1688
  };
@@ -1698,20 +1698,20 @@ function recompute$5() {
1698
1698
  function process$5(event) {
1699
1699
  schedule(encode$4.bind(this, event));
1700
1700
  }
1701
- function reset$h() {
1702
- data$c = null;
1701
+ function reset$i() {
1702
+ data$d = null;
1703
1703
  clearTimeout$1(timeout$4);
1704
1704
  throttledRecompute$1.cleanup();
1705
1705
  }
1706
- function stop$t() {
1707
- reset$h();
1706
+ function stop$u() {
1707
+ reset$i();
1708
1708
  }
1709
1709
 
1710
1710
  var state$5 = [];
1711
1711
  var initialTop = null;
1712
1712
  var initialBottom = null;
1713
1713
  var timeout$3 = null;
1714
- function start$u() {
1714
+ function start$v() {
1715
1715
  state$5 = [];
1716
1716
  recompute$4();
1717
1717
  }
@@ -1783,7 +1783,7 @@ function getPositionNode(x, y) {
1783
1783
  }
1784
1784
  return node;
1785
1785
  }
1786
- function reset$g() {
1786
+ function reset$h() {
1787
1787
  state$5 = [];
1788
1788
  initialTop = null;
1789
1789
  initialBottom = null;
@@ -1796,7 +1796,7 @@ function similar(last, current) {
1796
1796
  var dy = last.data.y - current.data.y;
1797
1797
  return (dx * dx + dy * dy < 20 /* Setting.Distance */ * 20 /* Setting.Distance */) && (current.time - last.time < 50 /* Setting.ScrollInterval */);
1798
1798
  }
1799
- function compute$8() {
1799
+ function compute$9() {
1800
1800
  var _a, _b;
1801
1801
  if (initialTop) {
1802
1802
  var top_1 = metadata$2(initialTop, null);
@@ -1807,7 +1807,7 @@ function compute$8() {
1807
1807
  log(32 /* Dimension.InitialScrollBottom */, (_b = bottom === null || bottom === void 0 ? void 0 : bottom.hash) === null || _b === void 0 ? void 0 : _b.join("." /* Constant.Dot */));
1808
1808
  }
1809
1809
  }
1810
- function stop$s() {
1810
+ function stop$t() {
1811
1811
  clearTimeout$1(timeout$3);
1812
1812
  throttledRecompute.cleanup();
1813
1813
  state$5 = [];
@@ -1815,11 +1815,11 @@ function stop$s() {
1815
1815
  initialBottom = null;
1816
1816
  }
1817
1817
 
1818
- var data$b = null;
1818
+ var data$c = null;
1819
1819
  var previous = null;
1820
1820
  var timeout$2 = null;
1821
- function start$t() {
1822
- reset$f();
1821
+ function start$u() {
1822
+ reset$g();
1823
1823
  }
1824
1824
  function observe$6(root) {
1825
1825
  bind(root, "selectstart", recompute$3.bind(this, root), true);
@@ -1840,12 +1840,12 @@ function recompute$3(root) {
1840
1840
  (current.anchorNode === current.focusNode && current.anchorOffset === current.focusOffset)) {
1841
1841
  return;
1842
1842
  }
1843
- var startNode = data$b.start ? data$b.start : null;
1844
- if (previous !== null && data$b.start !== null && startNode !== current.anchorNode) {
1843
+ var startNode = data$c.start ? data$c.start : null;
1844
+ if (previous !== null && data$c.start !== null && startNode !== current.anchorNode) {
1845
1845
  clearTimeout$1(timeout$2);
1846
1846
  process$3(21 /* Event.Selection */);
1847
1847
  }
1848
- data$b = {
1848
+ data$c = {
1849
1849
  start: current.anchorNode,
1850
1850
  startOffset: current.anchorOffset,
1851
1851
  end: current.focusNode,
@@ -1858,18 +1858,18 @@ function recompute$3(root) {
1858
1858
  function process$3(event) {
1859
1859
  schedule(encode$4.bind(this, event));
1860
1860
  }
1861
- function reset$f() {
1861
+ function reset$g() {
1862
1862
  previous = null;
1863
- data$b = { start: 0, startOffset: 0, end: 0, endOffset: 0 };
1863
+ data$c = { start: 0, startOffset: 0, end: 0, endOffset: 0 };
1864
1864
  }
1865
- function stop$r() {
1866
- reset$f();
1865
+ function stop$s() {
1866
+ reset$g();
1867
1867
  clearTimeout$1(timeout$2);
1868
1868
  }
1869
1869
 
1870
1870
  var state$4 = [];
1871
- function start$s() {
1872
- reset$e();
1871
+ function start$t() {
1872
+ reset$f();
1873
1873
  }
1874
1874
  function observe$5(root) {
1875
1875
  bind(root, "submit", recompute$2, true);
@@ -1878,22 +1878,39 @@ function recompute$2(evt) {
1878
1878
  state$4.push({ time: time(evt), event: 39 /* Event.Submit */, data: { target: target(evt) } });
1879
1879
  schedule(encode$4.bind(this, 39 /* Event.Submit */));
1880
1880
  }
1881
- function reset$e() {
1881
+ function reset$f() {
1882
1882
  state$4 = [];
1883
1883
  }
1884
- function stop$q() {
1885
- reset$e();
1884
+ function stop$r() {
1885
+ reset$f();
1886
1886
  }
1887
1887
 
1888
- var data$a;
1889
- function start$r() {
1888
+ var data$b;
1889
+ function start$s() {
1890
1890
  bind(window, "pagehide", recompute$1);
1891
1891
  }
1892
1892
  function recompute$1(evt) {
1893
- data$a = { name: evt.type, persisted: evt.persisted ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */ };
1893
+ data$b = { name: evt.type, persisted: evt.persisted ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */ };
1894
1894
  encode$4(26 /* Event.Unload */, time(evt));
1895
1895
  stop();
1896
1896
  }
1897
+ function reset$e() {
1898
+ data$b = null;
1899
+ }
1900
+ function stop$q() {
1901
+ reset$e();
1902
+ }
1903
+
1904
+ var data$a;
1905
+ function start$r() {
1906
+ bind(document, "visibilitychange", recompute);
1907
+ recompute();
1908
+ }
1909
+ function recompute(evt) {
1910
+ if (evt === void 0) { evt = null; }
1911
+ data$a = { visible: "visibilityState" in document ? document.visibilityState : "default" };
1912
+ encode$4(28 /* Event.Visibility */, time(evt));
1913
+ }
1897
1914
  function reset$d() {
1898
1915
  data$a = null;
1899
1916
  }
@@ -1903,48 +1920,49 @@ function stop$p() {
1903
1920
 
1904
1921
  var data$9;
1905
1922
  function start$q() {
1906
- bind(document, "visibilitychange", recompute);
1907
- recompute();
1923
+ bind(window, "focus", function () { return compute$8(1 /* BooleanFlag.True */); });
1924
+ bind(window, "blur", function () { return compute$8(0 /* BooleanFlag.False */); });
1908
1925
  }
1909
- function recompute(evt) {
1910
- if (evt === void 0) { evt = null; }
1911
- data$9 = { visible: "visibilityState" in document ? document.visibilityState : "default" };
1912
- encode$4(28 /* Event.Visibility */, time(evt));
1926
+ function stop$o() {
1927
+ reset$c();
1913
1928
  }
1914
1929
  function reset$c() {
1915
1930
  data$9 = null;
1916
1931
  }
1917
- function stop$o() {
1918
- reset$c();
1932
+ function compute$8(focus) {
1933
+ data$9 = { focused: focus };
1934
+ encode$4(50 /* Event.Focus */);
1919
1935
  }
1920
1936
 
1921
1937
  function start$p() {
1922
1938
  start$i();
1939
+ start$A();
1923
1940
  start$z();
1941
+ start$x();
1924
1942
  start$y();
1925
1943
  start$w();
1926
- start$x();
1927
- start$v();
1944
+ start$r();
1928
1945
  start$q();
1946
+ start$v();
1929
1947
  start$u();
1948
+ start$B();
1930
1949
  start$t();
1931
- start$A();
1932
1950
  start$s();
1933
- start$r();
1934
1951
  }
1935
1952
  function stop$n() {
1936
1953
  stop$g();
1954
+ stop$y();
1937
1955
  stop$x();
1956
+ stop$v();
1938
1957
  stop$w();
1939
1958
  stop$u();
1940
- stop$v();
1941
- stop$t();
1959
+ stop$p();
1942
1960
  stop$o();
1961
+ stop$t();
1943
1962
  stop$s();
1963
+ stop$z();
1944
1964
  stop$r();
1945
- stop$y();
1946
1965
  stop$q();
1947
- stop$p();
1948
1966
  }
1949
1967
  function observe$4(root) {
1950
1968
  observe$7(root);
@@ -3939,7 +3957,7 @@ function metadata$2(node, event, text) {
3939
3957
  function encode$4 (type, ts) {
3940
3958
  if (ts === void 0) { ts = null; }
3941
3959
  return __awaiter(this, void 0, void 0, function () {
3942
- var t, tokens, _i, _a, entry, pTarget, _b, _c, entry, cTarget, cHash, _d, _e, entry, target, r, u, _f, _g, entry, iTarget, s, startTarget, endTarget, _h, _j, entry, sTarget, top_1, bottom, sTopHash, sBottomHash, _k, _l, entry, target, _m, _o, entry, target, _p, _q, entry, v;
3960
+ var t, tokens, _i, _a, entry, pTarget, _b, _c, entry, cTarget, cHash, _d, _e, entry, target, r, u, _f, _g, entry, iTarget, s, startTarget, endTarget, _h, _j, entry, sTarget, top_1, bottom, sTopHash, sBottomHash, _k, _l, entry, target, _m, _o, entry, target, _p, _q, entry, v, f;
3943
3961
  return __generator(this, function (_r) {
3944
3962
  t = ts || time();
3945
3963
  tokens = [t, type];
@@ -3973,7 +3991,7 @@ function encode$4 (type, ts) {
3973
3991
  }
3974
3992
  }
3975
3993
  }
3976
- reset$i();
3994
+ reset$j();
3977
3995
  break;
3978
3996
  case 9 /* Event.Click */:
3979
3997
  case 48 /* Event.ContextMenu */:
@@ -3998,7 +4016,7 @@ function encode$4 (type, ts) {
3998
4016
  queue(tokens);
3999
4017
  track$2(entry.time, entry.event, cHash, entry.data.x, entry.data.y, entry.data.reaction, entry.data.context);
4000
4018
  }
4001
- reset$l();
4019
+ reset$m();
4002
4020
  break;
4003
4021
  case 38 /* Event.Clipboard */:
4004
4022
  for (_d = 0, _e = state$8; _d < _e.length; _d++) {
@@ -4011,21 +4029,21 @@ function encode$4 (type, ts) {
4011
4029
  queue(tokens);
4012
4030
  }
4013
4031
  }
4014
- reset$k();
4032
+ reset$l();
4015
4033
  break;
4016
4034
  case 11 /* Event.Resize */:
4017
- r = data$c;
4035
+ r = data$d;
4018
4036
  tokens.push(r.width);
4019
4037
  tokens.push(r.height);
4020
4038
  track$8(type, r.width, r.height);
4021
- reset$h();
4039
+ reset$i();
4022
4040
  queue(tokens);
4023
4041
  break;
4024
4042
  case 26 /* Event.Unload */:
4025
- u = data$a;
4043
+ u = data$b;
4026
4044
  tokens.push(u.name);
4027
4045
  tokens.push(u.persisted);
4028
- reset$d();
4046
+ reset$e();
4029
4047
  queue(tokens);
4030
4048
  break;
4031
4049
  case 27 /* Event.Input */:
@@ -4038,10 +4056,10 @@ function encode$4 (type, ts) {
4038
4056
  tokens.push(entry.data.trust);
4039
4057
  queue(tokens);
4040
4058
  }
4041
- reset$j();
4059
+ reset$k();
4042
4060
  break;
4043
4061
  case 21 /* Event.Selection */:
4044
- s = data$b;
4062
+ s = data$c;
4045
4063
  if (s) {
4046
4064
  startTarget = metadata$2(s.start, type);
4047
4065
  endTarget = metadata$2(s.end, type);
@@ -4049,7 +4067,7 @@ function encode$4 (type, ts) {
4049
4067
  tokens.push(s.startOffset);
4050
4068
  tokens.push(endTarget.id);
4051
4069
  tokens.push(s.endOffset);
4052
- reset$f();
4070
+ reset$g();
4053
4071
  queue(tokens);
4054
4072
  }
4055
4073
  break;
@@ -4072,7 +4090,7 @@ function encode$4 (type, ts) {
4072
4090
  track$8(entry.event, entry.data.x, entry.data.y, entry.time);
4073
4091
  }
4074
4092
  }
4075
- reset$g();
4093
+ reset$h();
4076
4094
  break;
4077
4095
  case 42 /* Event.Change */:
4078
4096
  for (_k = 0, _l = state$a; _k < _l.length; _k++) {
@@ -4088,7 +4106,7 @@ function encode$4 (type, ts) {
4088
4106
  queue(tokens);
4089
4107
  }
4090
4108
  }
4091
- reset$m();
4109
+ reset$n();
4092
4110
  break;
4093
4111
  case 39 /* Event.Submit */:
4094
4112
  for (_m = 0, _o = state$4; _m < _o.length; _m++) {
@@ -4100,7 +4118,7 @@ function encode$4 (type, ts) {
4100
4118
  queue(tokens);
4101
4119
  }
4102
4120
  }
4103
- reset$e();
4121
+ reset$f();
4104
4122
  break;
4105
4123
  case 22 /* Event.Timeline */:
4106
4124
  for (_p = 0, _q = updates$1; _p < _q.length; _p++) {
@@ -4117,12 +4135,19 @@ function encode$4 (type, ts) {
4117
4135
  reset$5();
4118
4136
  break;
4119
4137
  case 28 /* Event.Visibility */:
4120
- v = data$9;
4138
+ v = data$a;
4121
4139
  tokens.push(v.visible);
4122
4140
  queue(tokens);
4123
4141
  visibility(t, v.visible);
4142
+ reset$d();
4143
+ break;
4144
+ case 50 /* Event.Focus */: {
4145
+ f = data$9;
4146
+ tokens.push(f.focused);
4147
+ queue(tokens, false);
4124
4148
  reset$c();
4125
4149
  break;
4150
+ }
4126
4151
  }
4127
4152
  return [2 /*return*/];
4128
4153
  });
@@ -4435,7 +4460,7 @@ function queue(tokens, transmit) {
4435
4460
  // We enrich the data going out with the existing upload. In these cases, call to upload comes with 'transmit' set to false.
4436
4461
  if (transmit && timeout === null) {
4437
4462
  if (type !== 25 /* Event.Ping */) {
4438
- reset$q();
4463
+ reset$r();
4439
4464
  }
4440
4465
  timeout = setTimeout$1(upload, gap);
4441
4466
  queuedTime = now;
@@ -4474,7 +4499,7 @@ function upload(final) {
4474
4499
  // Otherwise you run a risk of infinite loop.
4475
4500
  compute$5();
4476
4501
  compute$4();
4477
- compute$9();
4502
+ compute$a();
4478
4503
  compute$7();
4479
4504
  last = final === true;
4480
4505
  // In some cases envelope has null data because it's part of the shutdown process while there's one upload call queued which might introduce runtime error
@@ -4742,10 +4767,10 @@ function encode$2 (type) {
4742
4767
  }
4743
4768
  break;
4744
4769
  case 41 /* Event.Fraud */:
4745
- if (data$d) {
4746
- tokens.push(data$d.id);
4747
- tokens.push(data$d.target);
4748
- tokens.push(data$d.checksum);
4770
+ if (data$e) {
4771
+ tokens.push(data$e.id);
4772
+ tokens.push(data$e.target);
4773
+ tokens.push(data$e.checksum);
4749
4774
  queue(tokens, false);
4750
4775
  }
4751
4776
  break;
@@ -4986,7 +5011,7 @@ function start$c() {
4986
5011
  schedule(discover, 1 /* Priority.High */).then(function () {
4987
5012
  measure(compute$6)();
4988
5013
  measure(compute$5)();
4989
- measure(compute$8)();
5014
+ measure(compute$9)();
4990
5015
  });
4991
5016
  }
4992
5017
  function discover() {
@@ -5080,11 +5105,11 @@ function encode$1 (event) {
5080
5105
  tokens.push(b.data.pointerPrevTime);
5081
5106
  queue(tokens, false);
5082
5107
  }
5083
- reset$s();
5108
+ reset$t();
5084
5109
  break;
5085
5110
  }
5086
5111
  case 25 /* Event.Ping */:
5087
- tokens.push(data$h.gap);
5112
+ tokens.push(data$i.gap);
5088
5113
  queue(tokens);
5089
5114
  break;
5090
5115
  case 35 /* Event.Limit */:
@@ -5103,19 +5128,19 @@ function encode$1 (event) {
5103
5128
  break;
5104
5129
  case 24 /* Event.Custom */:
5105
5130
  // not all custom events have a key - if it wasn't passed server handles just value
5106
- data$j.key && tokens.push(data$j.key);
5107
- tokens.push(data$j.value);
5131
+ data$k.key && tokens.push(data$k.key);
5132
+ tokens.push(data$k.value);
5108
5133
  queue(tokens);
5109
5134
  break;
5110
5135
  case 34 /* Event.Variable */: {
5111
- var variableKeys = Object.keys(data$f);
5136
+ var variableKeys = Object.keys(data$g);
5112
5137
  if (variableKeys.length > 0) {
5113
5138
  for (var _i = 0, variableKeys_1 = variableKeys; _i < variableKeys_1.length; _i++) {
5114
5139
  var v = variableKeys_1[_i];
5115
5140
  tokens.push(v);
5116
- tokens.push(data$f[v]);
5141
+ tokens.push(data$g[v]);
5117
5142
  }
5118
- reset$o();
5143
+ reset$p();
5119
5144
  queue(tokens, false);
5120
5145
  }
5121
5146
  break;
@@ -5131,7 +5156,7 @@ function encode$1 (event) {
5131
5156
  // However, for data over the wire, we round it off to milliseconds precision.
5132
5157
  tokens.push(Math.round(updates$3[m]));
5133
5158
  }
5134
- reset$r();
5159
+ reset$s();
5135
5160
  queue(tokens, false);
5136
5161
  }
5137
5162
  break;
@@ -5151,15 +5176,15 @@ function encode$1 (event) {
5151
5176
  break;
5152
5177
  }
5153
5178
  case 36 /* Event.Summary */: {
5154
- var eventKeys = Object.keys(data$g);
5179
+ var eventKeys = Object.keys(data$h);
5155
5180
  if (eventKeys.length > 0) {
5156
5181
  for (var _c = 0, eventKeys_1 = eventKeys; _c < eventKeys_1.length; _c++) {
5157
5182
  var e = eventKeys_1[_c];
5158
5183
  var key = parseInt(e, 10);
5159
5184
  tokens.push(key);
5160
- tokens.push([].concat.apply([], data$g[e]));
5185
+ tokens.push([].concat.apply([], data$h[e]));
5161
5186
  }
5162
- reset$p();
5187
+ reset$q();
5163
5188
  queue(tokens, false);
5164
5189
  }
5165
5190
  break;
@@ -5169,21 +5194,21 @@ function encode$1 (event) {
5169
5194
  extractKeys.forEach(function (e) {
5170
5195
  tokens.push(e);
5171
5196
  var token = [];
5172
- for (var d in data$e[e]) {
5197
+ for (var d in data$f[e]) {
5173
5198
  var key = parseInt(d, 10);
5174
5199
  token.push(key);
5175
- token.push(data$e[e][d]);
5200
+ token.push(data$f[e][d]);
5176
5201
  }
5177
5202
  tokens.push(token);
5178
5203
  });
5179
- reset$n();
5204
+ reset$o();
5180
5205
  queue(tokens, false);
5181
5206
  break;
5182
5207
  }
5183
5208
  case 47 /* Event.Consent */:
5184
- tokens.push(data$k.source);
5185
- tokens.push(data$k.ad_Storage);
5186
- tokens.push(data$k.analytics_Storage);
5209
+ tokens.push(data$l.source);
5210
+ tokens.push(data$l.ad_Storage);
5211
+ tokens.push(data$l.analytics_Storage);
5187
5212
  queue(tokens, false);
5188
5213
  break;
5189
5214
  }
@@ -5734,7 +5759,7 @@ function measure (method) {
5734
5759
  if (duration > 30 /* Setting.LongTask */) {
5735
5760
  count$1(7 /* Metric.LongTaskCount */);
5736
5761
  max(6 /* Metric.ThreadBlockedTime */, duration);
5737
- log$1(9 /* Code.FunctionExecutionTime */, 0 /* Severity.Info */, "".concat(method.dn || method.name, "-").concat(duration));
5762
+ method.dn && log$1(9 /* Code.FunctionExecutionTime */, 0 /* Severity.Info */, "".concat(method.dn, "-").concat(duration));
5738
5763
  }
5739
5764
  };
5740
5765
  }
@@ -5845,7 +5870,7 @@ function stop$6() {
5845
5870
  var status = false;
5846
5871
  function start$5() {
5847
5872
  status = true;
5848
- start$K();
5873
+ start$L();
5849
5874
  reset$4();
5850
5875
  reset$1();
5851
5876
  reset$2();
@@ -5856,7 +5881,7 @@ function stop$5() {
5856
5881
  reset$2();
5857
5882
  reset$1();
5858
5883
  reset$4();
5859
- stop$H();
5884
+ stop$I();
5860
5885
  status = false;
5861
5886
  }
5862
5887
  function active() {
@@ -5912,7 +5937,7 @@ function restart() {
5912
5937
  }
5913
5938
 
5914
5939
  function start$4() {
5915
- start$B();
5940
+ start$C();
5916
5941
  start$f();
5917
5942
  start$e();
5918
5943
  }
@@ -6252,7 +6277,7 @@ function start(config$1) {
6252
6277
  if (check()) {
6253
6278
  config(config$1);
6254
6279
  start$5();
6255
- start$C();
6280
+ start$D();
6256
6281
  modules.forEach(function (x) { return measure(x.start)(); });
6257
6282
  // If it's an internal call to start, without explicit configuration,
6258
6283
  // re-process any newly accumulated items in the queue
@@ -6283,7 +6308,7 @@ function stop() {
6283
6308
  if (active()) {
6284
6309
  // Stop modules in the reverse order of their initialization and start queuing up items again
6285
6310
  modules.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
6286
- stop$z();
6311
+ stop$A();
6287
6312
  stop$5();
6288
6313
  setup();
6289
6314
  }