clarity-js 0.8.30 → 0.8.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/clarity.js CHANGED
@@ -90,6 +90,7 @@ var clarity = /*#__PURE__*/Object.freeze({
90
90
  get queue () { return queue; },
91
91
  get register () { return register; },
92
92
  get resume () { return resume; },
93
+ get schedule () { return schedule; },
93
94
  get set () { return set; },
94
95
  get signal () { return signal; },
95
96
  get start () { return start; },
@@ -174,7 +175,7 @@ var startTime = 0;
174
175
  function computeStartTime() {
175
176
  return performance.now() + performance.timeOrigin;
176
177
  }
177
- function start$L() {
178
+ function start$M() {
178
179
  startTime = computeStartTime();
179
180
  }
180
181
  // event.timestamp is number of milliseconds elapsed since the document was loaded
@@ -190,11 +191,11 @@ function time(event) {
190
191
  var origin = event && event.view ? event.view.performance.timeOrigin : performance.timeOrigin;
191
192
  return Math.max(Math.round(ts + origin - baseline), 0);
192
193
  }
193
- function stop$I() {
194
+ function stop$J() {
194
195
  startTime = 0;
195
196
  }
196
197
 
197
- var version$1 = "0.8.30";
198
+ var version$1 = "0.8.32";
198
199
 
199
200
  // tslint:disable: no-bitwise
200
201
  function hash (input, precision) {
@@ -415,11 +416,11 @@ function redact$1(value) {
415
416
  var state$b = null;
416
417
  var buffer = null;
417
418
  var update$2 = false;
418
- function start$K() {
419
+ function start$L() {
419
420
  update$2 = false;
420
- reset$t();
421
+ reset$u();
421
422
  }
422
- function reset$t() {
423
+ function reset$u() {
423
424
  // Baseline state holds the previous values - if it is updated in the current payload,
424
425
  // reset the state to current value after sending the previous state
425
426
  if (update$2) {
@@ -552,32 +553,32 @@ function compute$g() {
552
553
  encode$1(4 /* Event.Baseline */);
553
554
  }
554
555
  }
555
- function stop$H() {
556
- reset$t();
556
+ function stop$I() {
557
+ reset$u();
557
558
  }
558
559
 
559
560
  var baseline = /*#__PURE__*/Object.freeze({
560
561
  __proto__: null,
561
562
  activity: activity,
562
563
  compute: compute$g,
563
- reset: reset$t,
564
- start: start$K,
564
+ reset: reset$u,
565
+ start: start$L,
565
566
  get state () { return state$b; },
566
- stop: stop$H,
567
+ stop: stop$I,
567
568
  track: track$8,
568
569
  visibility: visibility
569
570
  });
570
571
 
571
572
  var data$l = null;
572
573
  var updateConsent = true;
573
- function start$J() {
574
+ function start$K() {
574
575
  var _a, _b;
575
576
  updateConsent = true;
576
577
  if ((_b = (_a = window.google_tag_data) === null || _a === void 0 ? void 0 : _a.ics) === null || _b === void 0 ? void 0 : _b.addListener) {
577
578
  window.google_tag_data.ics.addListener(["ad_storage" /* Constant.AdStorage */, "analytics_storage" /* Constant.AnalyticsStorage */], processConsent);
578
579
  }
579
580
  }
580
- function stop$G() {
581
+ function stop$H() {
581
582
  updateConsent = true;
582
583
  }
583
584
  function processConsent() {
@@ -627,8 +628,8 @@ var consent$2 = /*#__PURE__*/Object.freeze({
627
628
  config: config$1,
628
629
  consent: consent$1,
629
630
  get data () { return data$l; },
630
- start: start$J,
631
- stop: stop$G,
631
+ start: start$K,
632
+ stop: stop$H,
632
633
  trackConsentv2: trackConsentv2
633
634
  });
634
635
 
@@ -652,12 +653,12 @@ function event(a, b) {
652
653
 
653
654
  var data$j = null;
654
655
  var updates$3 = null;
655
- function start$I() {
656
+ function start$J() {
656
657
  data$j = {};
657
658
  updates$3 = {};
658
659
  count$1(5 /* Metric.InvokeCount */);
659
660
  }
660
- function stop$F() {
661
+ function stop$G() {
661
662
  data$j = {};
662
663
  updates$3 = {};
663
664
  }
@@ -698,7 +699,7 @@ function max(metric, value) {
698
699
  function compute$e() {
699
700
  encode$1(0 /* Event.Metric */);
700
701
  }
701
- function reset$s() {
702
+ function reset$t() {
702
703
  updates$3 = {};
703
704
  }
704
705
 
@@ -713,11 +714,11 @@ var data$i;
713
714
  var last = 0;
714
715
  var interval = 0;
715
716
  var timeout$7 = null;
716
- function start$H() {
717
+ function start$I() {
717
718
  interval = 60000 /* Setting.PingInterval */;
718
719
  last = 0;
719
720
  }
720
- function reset$r() {
721
+ function reset$s() {
721
722
  if (timeout$7) {
722
723
  clearTimeout$1(timeout$7);
723
724
  }
@@ -735,7 +736,7 @@ function ping() {
735
736
  suspend();
736
737
  }
737
738
  }
738
- function stop$E() {
739
+ function stop$F() {
739
740
  clearTimeout$1(timeout$7);
740
741
  last = 0;
741
742
  interval = 0;
@@ -744,16 +745,16 @@ function stop$E() {
744
745
  var ping$1 = /*#__PURE__*/Object.freeze({
745
746
  __proto__: null,
746
747
  get data () { return data$i; },
747
- reset: reset$r,
748
- start: start$H,
749
- stop: stop$E
748
+ reset: reset$s,
749
+ start: start$I,
750
+ stop: stop$F
750
751
  });
751
752
 
752
753
  var data$h = null;
753
- function start$G() {
754
+ function start$H() {
754
755
  data$h = {};
755
756
  }
756
- function stop$D() {
757
+ function stop$E() {
757
758
  data$h = {};
758
759
  }
759
760
  function track$7(event, time) {
@@ -776,7 +777,7 @@ function track$7(event, time) {
776
777
  function compute$d() {
777
778
  encode$1(36 /* Event.Summary */);
778
779
  }
779
- function reset$q() {
780
+ function reset$r() {
780
781
  data$h = {};
781
782
  }
782
783
 
@@ -784,9 +785,9 @@ var summary = /*#__PURE__*/Object.freeze({
784
785
  __proto__: null,
785
786
  compute: compute$d,
786
787
  get data () { return data$h; },
787
- reset: reset$q,
788
- start: start$G,
789
- stop: stop$D,
788
+ reset: reset$r,
789
+ start: start$H,
790
+ stop: stop$E,
790
791
  track: track$7
791
792
  });
792
793
 
@@ -904,8 +905,8 @@ function read(stream) {
904
905
  }
905
906
 
906
907
  var data$g = null;
907
- function start$F() {
908
- reset$p();
908
+ function start$G() {
909
+ reset$q();
909
910
  }
910
911
  function set(variable, value) {
911
912
  var values = typeof value === "string" /* Constant.String */ ? [value] : value;
@@ -963,11 +964,11 @@ function log$2(variable, value) {
963
964
  function compute$c() {
964
965
  encode$1(34 /* Event.Variable */);
965
966
  }
966
- function reset$p() {
967
+ function reset$q() {
967
968
  data$g = {};
968
969
  }
969
- function stop$C() {
970
- reset$p();
970
+ function stop$D() {
971
+ reset$q();
971
972
  }
972
973
  function redact(input) {
973
974
  return input && input.length >= 5 /* Setting.WordLength */ ?
@@ -1004,10 +1005,10 @@ var variable = /*#__PURE__*/Object.freeze({
1004
1005
  compute: compute$c,
1005
1006
  get data () { return data$g; },
1006
1007
  identify: identify,
1007
- reset: reset$p,
1008
+ reset: reset$q,
1008
1009
  set: set,
1009
- start: start$F,
1010
- stop: stop$C
1010
+ start: start$G,
1011
+ stop: stop$D
1011
1012
  });
1012
1013
 
1013
1014
  var data$f = {};
@@ -1016,8 +1017,8 @@ var variables = {};
1016
1017
  var selectors = {};
1017
1018
  var hashes = {};
1018
1019
  var validation = {};
1019
- function start$E() {
1020
- reset$o();
1020
+ function start$F() {
1021
+ reset$p();
1021
1022
  }
1022
1023
  // Input string is of the following form:
1023
1024
  // EXTRACT 101|element { "1": ".class1", "2": "~window.a.b", "3": "!abc"}
@@ -1113,7 +1114,7 @@ function compute$b() {
1113
1114
  log$1(5 /* Code.Selector */, 1 /* Severity.Warning */, e ? e.name : null);
1114
1115
  }
1115
1116
  }
1116
- function reset$o() {
1117
+ function reset$p() {
1117
1118
  keys.clear();
1118
1119
  }
1119
1120
  function update$1(key, subkey, value) {
@@ -1132,8 +1133,8 @@ function update$1(key, subkey, value) {
1132
1133
  }
1133
1134
  return;
1134
1135
  }
1135
- function stop$B() {
1136
- reset$o();
1136
+ function stop$C() {
1137
+ reset$p();
1137
1138
  }
1138
1139
  function parse$1(variable) {
1139
1140
  var syntax = [];
@@ -1204,9 +1205,9 @@ var extract = /*#__PURE__*/Object.freeze({
1204
1205
  compute: compute$b,
1205
1206
  data: data$f,
1206
1207
  keys: keys,
1207
- reset: reset$o,
1208
- start: start$E,
1209
- stop: stop$B,
1208
+ reset: reset$p,
1209
+ start: start$F,
1210
+ stop: stop$C,
1210
1211
  trigger: trigger$2,
1211
1212
  update: update$1
1212
1213
  });
@@ -1240,18 +1241,18 @@ function signalsEvent(signalsPayload) {
1240
1241
  }
1241
1242
 
1242
1243
  var modules$1 = [baseline, dimension, variable, limit, summary, consent$2, metadata$1, envelope$1, upload$1, ping$1, upgrade$1, extract];
1243
- function start$D() {
1244
+ function start$E() {
1244
1245
  // Metric needs to be initialized before we can start measuring. so metric is not wrapped in measure
1245
- start$I();
1246
+ start$J();
1246
1247
  modules$1.forEach(function (x) { return measure(x.start)(); });
1247
1248
  }
1248
- function stop$A() {
1249
+ function stop$B() {
1249
1250
  // Stop modules in the reverse order of their initialization
1250
1251
  // The ordering below should respect inter-module dependency.
1251
1252
  // E.g. if upgrade depends on upload, then upgrade needs to end before upload.
1252
1253
  // Similarly, if upload depends on metadata, upload needs to end before metadata.
1253
1254
  modules$1.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
1254
- stop$F();
1255
+ stop$G();
1255
1256
  }
1256
1257
  function compute$a() {
1257
1258
  compute$c();
@@ -1266,7 +1267,7 @@ function compute$a() {
1266
1267
 
1267
1268
  var history$5 = [];
1268
1269
  var data$e;
1269
- function start$C() {
1270
+ function start$D() {
1270
1271
  history$5 = [];
1271
1272
  max(26 /* Metric.Automation */, navigator.webdriver ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */);
1272
1273
  try {
@@ -1277,7 +1278,7 @@ function start$C() {
1277
1278
  max(31 /* Metric.Iframed */, 0 /* IframeStatus.Unknown */);
1278
1279
  }
1279
1280
  }
1280
- function check$4(id, target, input) {
1281
+ function check$5(id, target, input) {
1281
1282
  // Compute hash for fraud detection, if enabled. Hash is computed only if input meets the minimum length criteria
1282
1283
  if (config$2.fraud && id !== null && input && input.length >= 5 /* Setting.WordLength */) {
1283
1284
  data$e = { id: id, target: target, checksum: hash(input, 28 /* Setting.ChecksumPrecision */) };
@@ -1290,8 +1291,8 @@ function check$4(id, target, input) {
1290
1291
  }
1291
1292
 
1292
1293
  var state$a = [];
1293
- function start$B() {
1294
- reset$n();
1294
+ function start$C() {
1295
+ reset$o();
1295
1296
  }
1296
1297
  function observe$c(root) {
1297
1298
  bind(root, "change", recompute$8, true);
@@ -1305,11 +1306,11 @@ function recompute$8(evt) {
1305
1306
  schedule(encode$4.bind(this, 42 /* Event.Change */));
1306
1307
  }
1307
1308
  }
1308
- function reset$n() {
1309
+ function reset$o() {
1309
1310
  state$a = [];
1310
1311
  }
1311
- function stop$z() {
1312
- reset$n();
1312
+ function stop$A() {
1313
+ reset$o();
1313
1314
  }
1314
1315
 
1315
1316
  function offset(element) {
@@ -1330,8 +1331,8 @@ function offset(element) {
1330
1331
 
1331
1332
  var UserInputTags = ["input", "textarea", "radio", "button", "canvas", "select"];
1332
1333
  var state$9 = [];
1333
- function start$A() {
1334
- reset$m();
1334
+ function start$B() {
1335
+ reset$n();
1335
1336
  }
1336
1337
  function observe$b(root) {
1337
1338
  bind(root, "click", handler$3.bind(this, 9 /* Event.Click */, root), true);
@@ -1457,16 +1458,16 @@ function context(a) {
1457
1458
  }
1458
1459
  return 0 /* BrowsingContext.Self */;
1459
1460
  }
1460
- function reset$m() {
1461
+ function reset$n() {
1461
1462
  state$9 = [];
1462
1463
  }
1463
- function stop$y() {
1464
- reset$m();
1464
+ function stop$z() {
1465
+ reset$n();
1465
1466
  }
1466
1467
 
1467
1468
  var state$8 = [];
1468
- function start$z() {
1469
- reset$l();
1469
+ function start$A() {
1470
+ reset$m();
1470
1471
  }
1471
1472
  function observe$a(root) {
1472
1473
  bind(root, "cut", recompute$7.bind(this, 0 /* Clipboard.Cut */), true);
@@ -1477,17 +1478,17 @@ function recompute$7(action, evt) {
1477
1478
  state$8.push({ time: time(evt), event: 38 /* Event.Clipboard */, data: { target: target(evt), action: action } });
1478
1479
  schedule(encode$4.bind(this, 38 /* Event.Clipboard */));
1479
1480
  }
1480
- function reset$l() {
1481
+ function reset$m() {
1481
1482
  state$8 = [];
1482
1483
  }
1483
- function stop$x() {
1484
- reset$l();
1484
+ function stop$y() {
1485
+ reset$m();
1485
1486
  }
1486
1487
 
1487
1488
  var timeout$6 = null;
1488
1489
  var state$7 = [];
1489
- function start$y() {
1490
- reset$k();
1490
+ function start$z() {
1491
+ reset$l();
1491
1492
  }
1492
1493
  function observe$9(root) {
1493
1494
  bind(root, "input", recompute$6, true);
@@ -1517,12 +1518,12 @@ function recompute$6(evt) {
1517
1518
  function process$7(event) {
1518
1519
  schedule(encode$4.bind(this, event));
1519
1520
  }
1520
- function reset$k() {
1521
+ function reset$l() {
1521
1522
  state$7 = [];
1522
1523
  }
1523
- function stop$w() {
1524
+ function stop$x() {
1524
1525
  clearTimeout$1(timeout$6);
1525
- reset$k();
1526
+ reset$l();
1526
1527
  }
1527
1528
 
1528
1529
  var state$6 = [];
@@ -1530,8 +1531,8 @@ var timeout$5 = null;
1530
1531
  var hasPrimaryTouch = false;
1531
1532
  var primaryTouchId = 0;
1532
1533
  var activeTouchPointIds = new Set();
1533
- function start$x() {
1534
- reset$j();
1534
+ function start$y() {
1535
+ reset$k();
1535
1536
  }
1536
1537
  function observe$8(root) {
1537
1538
  bind(root, "mousedown", mouse.bind(this, 13 /* Event.MouseDown */, root), true);
@@ -1626,7 +1627,7 @@ function handler$2(current) {
1626
1627
  function process$6(event) {
1627
1628
  schedule(encode$4.bind(this, event));
1628
1629
  }
1629
- function reset$j() {
1630
+ function reset$k() {
1630
1631
  state$6 = [];
1631
1632
  }
1632
1633
  function similar$1(last, current) {
@@ -1638,7 +1639,7 @@ function similar$1(last, current) {
1638
1639
  var sameId = current.data.id !== undefined ? current.data.id === last.data.id : true;
1639
1640
  return current.event === last.event && match && distance < 20 /* Setting.Distance */ && gap < 25 /* Setting.PointerInterval */ && sameId;
1640
1641
  }
1641
- function stop$v() {
1642
+ function stop$w() {
1642
1643
  clearTimeout$1(timeout$5);
1643
1644
  // Send out any pending pointer events in the pipeline
1644
1645
  if (state$6.length > 0) {
@@ -1698,7 +1699,7 @@ var data$d;
1698
1699
  var timeout$4 = null;
1699
1700
  var initialStateLogged = false;
1700
1701
  var throttledRecompute$1 = throttle(recompute$5, 500 /* Setting.LookAhead */);
1701
- function start$w() {
1702
+ function start$x() {
1702
1703
  initialStateLogged = false;
1703
1704
  bind(window, "resize", throttledRecompute$1);
1704
1705
  recompute$5();
@@ -1723,20 +1724,20 @@ function recompute$5() {
1723
1724
  function process$5(event) {
1724
1725
  schedule(encode$4.bind(this, event));
1725
1726
  }
1726
- function reset$i() {
1727
+ function reset$j() {
1727
1728
  data$d = null;
1728
1729
  clearTimeout$1(timeout$4);
1729
1730
  throttledRecompute$1.cleanup();
1730
1731
  }
1731
- function stop$u() {
1732
- reset$i();
1732
+ function stop$v() {
1733
+ reset$j();
1733
1734
  }
1734
1735
 
1735
1736
  var state$5 = [];
1736
1737
  var initialTop = null;
1737
1738
  var initialBottom = null;
1738
1739
  var timeout$3 = null;
1739
- function start$v() {
1740
+ function start$w() {
1740
1741
  state$5 = [];
1741
1742
  recompute$4();
1742
1743
  }
@@ -1808,7 +1809,7 @@ function getPositionNode(x, y) {
1808
1809
  }
1809
1810
  return node;
1810
1811
  }
1811
- function reset$h() {
1812
+ function reset$i() {
1812
1813
  state$5 = [];
1813
1814
  initialTop = null;
1814
1815
  initialBottom = null;
@@ -1832,7 +1833,7 @@ function compute$9() {
1832
1833
  log(32 /* Dimension.InitialScrollBottom */, (_b = bottom === null || bottom === void 0 ? void 0 : bottom.hash) === null || _b === void 0 ? void 0 : _b.join("." /* Constant.Dot */));
1833
1834
  }
1834
1835
  }
1835
- function stop$t() {
1836
+ function stop$u() {
1836
1837
  clearTimeout$1(timeout$3);
1837
1838
  throttledRecompute.cleanup();
1838
1839
  state$5 = [];
@@ -1843,8 +1844,8 @@ function stop$t() {
1843
1844
  var data$c = null;
1844
1845
  var previous = null;
1845
1846
  var timeout$2 = null;
1846
- function start$u() {
1847
- reset$g();
1847
+ function start$v() {
1848
+ reset$h();
1848
1849
  }
1849
1850
  function observe$6(root) {
1850
1851
  bind(root, "selectstart", recompute$3.bind(this, root), true);
@@ -1883,18 +1884,18 @@ function recompute$3(root) {
1883
1884
  function process$3(event) {
1884
1885
  schedule(encode$4.bind(this, event));
1885
1886
  }
1886
- function reset$g() {
1887
+ function reset$h() {
1887
1888
  previous = null;
1888
1889
  data$c = { start: 0, startOffset: 0, end: 0, endOffset: 0 };
1889
1890
  }
1890
- function stop$s() {
1891
- reset$g();
1891
+ function stop$t() {
1892
+ reset$h();
1892
1893
  clearTimeout$1(timeout$2);
1893
1894
  }
1894
1895
 
1895
1896
  var state$4 = [];
1896
- function start$t() {
1897
- reset$f();
1897
+ function start$u() {
1898
+ reset$g();
1898
1899
  }
1899
1900
  function observe$5(root) {
1900
1901
  bind(root, "submit", recompute$2, true);
@@ -1903,15 +1904,15 @@ function recompute$2(evt) {
1903
1904
  state$4.push({ time: time(evt), event: 39 /* Event.Submit */, data: { target: target(evt) } });
1904
1905
  schedule(encode$4.bind(this, 39 /* Event.Submit */));
1905
1906
  }
1906
- function reset$f() {
1907
+ function reset$g() {
1907
1908
  state$4 = [];
1908
1909
  }
1909
- function stop$r() {
1910
- reset$f();
1910
+ function stop$s() {
1911
+ reset$g();
1911
1912
  }
1912
1913
 
1913
1914
  var data$b;
1914
- function start$s() {
1915
+ function start$t() {
1915
1916
  bind(window, "pagehide", recompute$1);
1916
1917
  }
1917
1918
  function recompute$1(evt) {
@@ -1919,15 +1920,15 @@ function recompute$1(evt) {
1919
1920
  encode$4(26 /* Event.Unload */, time(evt));
1920
1921
  stop();
1921
1922
  }
1922
- function reset$e() {
1923
+ function reset$f() {
1923
1924
  data$b = null;
1924
1925
  }
1925
- function stop$q() {
1926
- reset$e();
1926
+ function stop$r() {
1927
+ reset$f();
1927
1928
  }
1928
1929
 
1929
1930
  var data$a;
1930
- function start$r() {
1931
+ function start$s() {
1931
1932
  bind(document, "visibilitychange", recompute);
1932
1933
  recompute();
1933
1934
  }
@@ -1936,22 +1937,22 @@ function recompute(evt) {
1936
1937
  data$a = { visible: "visibilityState" in document ? document.visibilityState : "default" };
1937
1938
  encode$4(28 /* Event.Visibility */, time(evt));
1938
1939
  }
1939
- function reset$d() {
1940
+ function reset$e() {
1940
1941
  data$a = null;
1941
1942
  }
1942
- function stop$p() {
1943
- reset$d();
1943
+ function stop$q() {
1944
+ reset$e();
1944
1945
  }
1945
1946
 
1946
1947
  var data$9;
1947
- function start$q() {
1948
+ function start$r() {
1948
1949
  bind(window, "focus", function () { return compute$8(1 /* BooleanFlag.True */); });
1949
1950
  bind(window, "blur", function () { return compute$8(0 /* BooleanFlag.False */); });
1950
1951
  }
1951
- function stop$o() {
1952
- reset$c();
1952
+ function stop$p() {
1953
+ reset$d();
1953
1954
  }
1954
- function reset$c() {
1955
+ function reset$d() {
1955
1956
  data$9 = null;
1956
1957
  }
1957
1958
  function compute$8(focus) {
@@ -1959,35 +1960,35 @@ function compute$8(focus) {
1959
1960
  encode$4(50 /* Event.Focus */);
1960
1961
  }
1961
1962
 
1962
- function start$p() {
1963
+ function start$q() {
1963
1964
  start$i();
1965
+ start$B();
1964
1966
  start$A();
1967
+ start$y();
1965
1968
  start$z();
1966
1969
  start$x();
1967
- start$y();
1968
- start$w();
1970
+ start$s();
1969
1971
  start$r();
1970
- start$q();
1972
+ start$w();
1971
1973
  start$v();
1974
+ start$C();
1972
1975
  start$u();
1973
- start$B();
1974
1976
  start$t();
1975
- start$s();
1976
1977
  }
1977
- function stop$n() {
1978
+ function stop$o() {
1978
1979
  stop$g();
1980
+ stop$z();
1979
1981
  stop$y();
1982
+ stop$w();
1980
1983
  stop$x();
1981
1984
  stop$v();
1982
- stop$w();
1983
- stop$u();
1985
+ stop$q();
1984
1986
  stop$p();
1985
- stop$o();
1987
+ stop$u();
1986
1988
  stop$t();
1989
+ stop$A();
1987
1990
  stop$s();
1988
- stop$z();
1989
1991
  stop$r();
1990
- stop$q();
1991
1992
  }
1992
1993
  function observe$4(root) {
1993
1994
  observe$7(root);
@@ -2007,8 +2008,8 @@ function observe$4(root) {
2007
2008
  var interaction = /*#__PURE__*/Object.freeze({
2008
2009
  __proto__: null,
2009
2010
  observe: observe$4,
2010
- start: start$p,
2011
- stop: stop$n
2011
+ start: start$q,
2012
+ stop: stop$o
2012
2013
  });
2013
2014
 
2014
2015
  // Following code takes an array of tokens and transforms it to optimize for repeating tokens and make it efficient to send over the wire
@@ -2097,7 +2098,7 @@ function proxyStyleRules$1(win) {
2097
2098
  }
2098
2099
  }
2099
2100
  }
2100
- function start$o() {
2101
+ function start$p() {
2101
2102
  proxyStyleRules$1(window);
2102
2103
  }
2103
2104
  function checkDocumentStyles(documentNode, timestamp) {
@@ -2149,16 +2150,16 @@ function compute$7() {
2149
2150
  checkDocumentStyles(documentNode, ts);
2150
2151
  }
2151
2152
  }
2152
- function reset$b() {
2153
+ function reset$c() {
2153
2154
  sheetAdoptionState = [];
2154
2155
  sheetUpdateState = [];
2155
2156
  }
2156
- function stop$m() {
2157
+ function stop$n() {
2157
2158
  styleSheetMap = {};
2158
2159
  styleTimeMap = {};
2159
2160
  documentNodes = [];
2160
2161
  createdSheetIds = [];
2161
- reset$b();
2162
+ reset$c();
2162
2163
  }
2163
2164
  function trackStyleChange(time, id, operation, cssRules) {
2164
2165
  sheetUpdateState.push({
@@ -2201,14 +2202,14 @@ var animationFinish = null;
2201
2202
  var animationId = 'clarityAnimationId';
2202
2203
  var operationCount = 'clarityOperationCount';
2203
2204
  var maxOperations = 20;
2204
- function start$n() {
2205
+ function start$o() {
2205
2206
  if (window["Animation"] &&
2206
2207
  window["Animation"].prototype &&
2207
2208
  window["KeyframeEffect"] &&
2208
2209
  window["KeyframeEffect"].prototype &&
2209
2210
  window["KeyframeEffect"].prototype.getKeyframes &&
2210
2211
  window["KeyframeEffect"].prototype.getTiming) {
2211
- reset$a();
2212
+ reset$b();
2212
2213
  overrideAnimationHelper(animationPlay, "play");
2213
2214
  overrideAnimationHelper(animationPause, "pause");
2214
2215
  overrideAnimationHelper(animationCommitStyles, "commitStyles");
@@ -2238,7 +2239,7 @@ function start$n() {
2238
2239
  }
2239
2240
  }
2240
2241
  }
2241
- function reset$a() {
2242
+ function reset$b() {
2242
2243
  state$3 = [];
2243
2244
  }
2244
2245
  function track$6(time, id, operation, keyFrames, timing, targetId, timeline) {
@@ -2256,8 +2257,8 @@ function track$6(time, id, operation, keyFrames, timing, targetId, timeline) {
2256
2257
  });
2257
2258
  encode$5(44 /* Event.Animation */);
2258
2259
  }
2259
- function stop$l() {
2260
- reset$a();
2260
+ function stop$m() {
2261
+ reset$b();
2261
2262
  }
2262
2263
  function overrideAnimationHelper(functionToOverride, name) {
2263
2264
  if (functionToOverride === null) {
@@ -2307,13 +2308,49 @@ function trackAnimationOperation(animation, name) {
2307
2308
  }
2308
2309
  }
2309
2310
 
2311
+ var elements = [];
2312
+ var definedElements = new Set();
2313
+ function register$1(tag) {
2314
+ if (!definedElements.has(tag)) {
2315
+ definedElements.add(tag);
2316
+ elements.push(tag);
2317
+ schedule(encode$5.bind(this, 51 /* Event.CustomElement */));
2318
+ }
2319
+ }
2320
+ function check$4(tag) {
2321
+ var _a;
2322
+ if (((_a = window.customElements) === null || _a === void 0 ? void 0 : _a.get) && window.customElements.get(tag)) {
2323
+ register$1(tag);
2324
+ }
2325
+ }
2326
+ function start$n() {
2327
+ var _a;
2328
+ window.clarityOverrides = window.clarityOverrides || {};
2329
+ if (((_a = window.customElements) === null || _a === void 0 ? void 0 : _a.define) && !window.clarityOverrides.define) {
2330
+ window.clarityOverrides.define = window.customElements.define;
2331
+ window.customElements.define = function () {
2332
+ if (active()) {
2333
+ register$1(arguments[0]);
2334
+ }
2335
+ return window.clarityOverrides.define.apply(this, arguments);
2336
+ };
2337
+ }
2338
+ }
2339
+ function reset$a() {
2340
+ elements.length = 0;
2341
+ }
2342
+ function stop$l() {
2343
+ reset$a();
2344
+ definedElements.clear();
2345
+ }
2346
+
2310
2347
  function encode$5 (type, timer, ts) {
2311
2348
  if (timer === void 0) { timer = null; }
2312
2349
  if (ts === void 0) { ts = null; }
2313
2350
  return __awaiter(this, void 0, void 0, function () {
2314
- var eventTime, tokens, _a, d, _i, _b, r, _c, _d, entry, _e, _f, entry, _g, _h, entry, values, _j, values_1, value, state$1, data, active, suspend, privacy, mangle, keys, _k, keys_1, key, box, factor, attr;
2315
- return __generator(this, function (_l) {
2316
- switch (_l.label) {
2351
+ var eventTime, tokens, _a, d, _i, _b, r, _c, _d, entry, _e, _f, entry, _g, _h, entry, values, _j, values_1, value, state$1, data, active, suspend, privacy, mangle, keys, _k, keys_1, key, box, factor, attr, _l, _m, element;
2352
+ return __generator(this, function (_o) {
2353
+ switch (_o.label) {
2317
2354
  case 0:
2318
2355
  eventTime = ts || time();
2319
2356
  tokens = [eventTime, type];
@@ -2326,15 +2363,16 @@ function encode$5 (type, timer, ts) {
2326
2363
  case 44 /* Event.Animation */: return [3 /*break*/, 4];
2327
2364
  case 5 /* Event.Discover */: return [3 /*break*/, 5];
2328
2365
  case 6 /* Event.Mutation */: return [3 /*break*/, 5];
2366
+ case 51 /* Event.CustomElement */: return [3 /*break*/, 12];
2329
2367
  }
2330
- return [3 /*break*/, 12];
2368
+ return [3 /*break*/, 13];
2331
2369
  case 1:
2332
2370
  d = data$8;
2333
2371
  tokens.push(d.width);
2334
2372
  tokens.push(d.height);
2335
2373
  track$8(type, d.width, d.height);
2336
2374
  queue(tokens);
2337
- return [3 /*break*/, 12];
2375
+ return [3 /*break*/, 13];
2338
2376
  case 2:
2339
2377
  for (_i = 0, _b = state$2; _i < _b.length; _i++) {
2340
2378
  r = _b[_i];
@@ -2346,7 +2384,7 @@ function encode$5 (type, timer, ts) {
2346
2384
  queue(tokens, false);
2347
2385
  }
2348
2386
  reset$6();
2349
- return [3 /*break*/, 12];
2387
+ return [3 /*break*/, 13];
2350
2388
  case 3:
2351
2389
  for (_c = 0, _d = sheetAdoptionState; _c < _d.length; _c++) {
2352
2390
  entry = _d[_c];
@@ -2364,8 +2402,8 @@ function encode$5 (type, timer, ts) {
2364
2402
  tokens.push(entry.data.cssRules);
2365
2403
  queue(tokens, false);
2366
2404
  }
2367
- reset$b();
2368
- return [3 /*break*/, 12];
2405
+ reset$c();
2406
+ return [3 /*break*/, 13];
2369
2407
  case 4:
2370
2408
  for (_g = 0, _h = state$3; _g < _h.length; _g++) {
2371
2409
  entry = _h[_g];
@@ -2378,17 +2416,17 @@ function encode$5 (type, timer, ts) {
2378
2416
  tokens.push(entry.data.targetId);
2379
2417
  queue(tokens);
2380
2418
  }
2381
- reset$a();
2382
- return [3 /*break*/, 12];
2419
+ reset$b();
2420
+ return [3 /*break*/, 13];
2383
2421
  case 5:
2384
2422
  // Check if we are operating within the context of the current page
2385
2423
  if (state(timer) === 2 /* Task.Stop */) {
2386
- return [3 /*break*/, 12];
2424
+ return [3 /*break*/, 13];
2387
2425
  }
2388
2426
  values = updates$2();
2389
2427
  if (!(values.length > 0)) return [3 /*break*/, 11];
2390
2428
  _j = 0, values_1 = values;
2391
- _l.label = 6;
2429
+ _o.label = 6;
2392
2430
  case 6:
2393
2431
  if (!(_j < values_1.length)) return [3 /*break*/, 10];
2394
2432
  value = values_1[_j];
@@ -2396,8 +2434,8 @@ function encode$5 (type, timer, ts) {
2396
2434
  if (!(state$1 === 0 /* Task.Wait */)) return [3 /*break*/, 8];
2397
2435
  return [4 /*yield*/, suspend$1(timer)];
2398
2436
  case 7:
2399
- state$1 = _l.sent();
2400
- _l.label = 8;
2437
+ state$1 = _o.sent();
2438
+ _o.label = 8;
2401
2439
  case 8:
2402
2440
  if (state$1 === 2 /* Task.Stop */) {
2403
2441
  return [3 /*break*/, 10];
@@ -2437,13 +2475,13 @@ function encode$5 (type, timer, ts) {
2437
2475
  }
2438
2476
  break;
2439
2477
  case "value":
2440
- check$4(value.metadata.fraud, value.id, data[key]);
2478
+ check$5(value.metadata.fraud, value.id, data[key]);
2441
2479
  tokens.push(text$1(data[key], data.tag, privacy, mangle));
2442
2480
  break;
2443
2481
  }
2444
2482
  }
2445
2483
  }
2446
- _l.label = 9;
2484
+ _o.label = 9;
2447
2485
  case 9:
2448
2486
  _j++;
2449
2487
  return [3 /*break*/, 6];
@@ -2452,9 +2490,16 @@ function encode$5 (type, timer, ts) {
2452
2490
  activity(eventTime);
2453
2491
  }
2454
2492
  queue(tokenize(tokens), !config$2.lean);
2455
- _l.label = 11;
2456
- case 11: return [3 /*break*/, 12];
2457
- case 12: return [2 /*return*/];
2493
+ _o.label = 11;
2494
+ case 11: return [3 /*break*/, 13];
2495
+ case 12:
2496
+ for (_l = 0, _m = elements; _l < _m.length; _l++) {
2497
+ element = _m[_l];
2498
+ queue([eventTime, 51 /* Event.CustomElement */, element]);
2499
+ }
2500
+ reset$a();
2501
+ return [3 /*break*/, 13];
2502
+ case 13: return [2 /*return*/];
2458
2503
  }
2459
2504
  });
2460
2505
  });
@@ -3215,6 +3260,7 @@ function processNode (node, source, timestamp) {
3215
3260
  dom[call](node, parent, mediaTag, source);
3216
3261
  break;
3217
3262
  default:
3263
+ check$4(element.localName);
3218
3264
  var data = { tag: tag, attributes: attributes };
3219
3265
  if (element.shadowRoot) {
3220
3266
  child = element.shadowRoot;
@@ -3972,7 +4018,7 @@ function metadata$2(node, event, text) {
3972
4018
  track$3(value.region, event);
3973
4019
  }
3974
4020
  if (metadata_1.fraud) {
3975
- check$4(metadata_1.fraud, value.id, text || value.data.value);
4021
+ check$5(metadata_1.fraud, value.id, text || value.data.value);
3976
4022
  }
3977
4023
  }
3978
4024
  }
@@ -4016,7 +4062,7 @@ function encode$4 (type, ts) {
4016
4062
  }
4017
4063
  }
4018
4064
  }
4019
- reset$j();
4065
+ reset$k();
4020
4066
  break;
4021
4067
  case 9 /* Event.Click */:
4022
4068
  case 48 /* Event.ContextMenu */:
@@ -4041,7 +4087,7 @@ function encode$4 (type, ts) {
4041
4087
  queue(tokens);
4042
4088
  track$2(entry.time, entry.event, cHash, entry.data.x, entry.data.y, entry.data.reaction, entry.data.context);
4043
4089
  }
4044
- reset$m();
4090
+ reset$n();
4045
4091
  break;
4046
4092
  case 38 /* Event.Clipboard */:
4047
4093
  for (_d = 0, _e = state$8; _d < _e.length; _d++) {
@@ -4054,21 +4100,21 @@ function encode$4 (type, ts) {
4054
4100
  queue(tokens);
4055
4101
  }
4056
4102
  }
4057
- reset$l();
4103
+ reset$m();
4058
4104
  break;
4059
4105
  case 11 /* Event.Resize */:
4060
4106
  r = data$d;
4061
4107
  tokens.push(r.width);
4062
4108
  tokens.push(r.height);
4063
4109
  track$8(type, r.width, r.height);
4064
- reset$i();
4110
+ reset$j();
4065
4111
  queue(tokens);
4066
4112
  break;
4067
4113
  case 26 /* Event.Unload */:
4068
4114
  u = data$b;
4069
4115
  tokens.push(u.name);
4070
4116
  tokens.push(u.persisted);
4071
- reset$e();
4117
+ reset$f();
4072
4118
  queue(tokens);
4073
4119
  break;
4074
4120
  case 27 /* Event.Input */:
@@ -4081,7 +4127,7 @@ function encode$4 (type, ts) {
4081
4127
  tokens.push(entry.data.trust);
4082
4128
  queue(tokens);
4083
4129
  }
4084
- reset$k();
4130
+ reset$l();
4085
4131
  break;
4086
4132
  case 21 /* Event.Selection */:
4087
4133
  s = data$c;
@@ -4092,7 +4138,7 @@ function encode$4 (type, ts) {
4092
4138
  tokens.push(s.startOffset);
4093
4139
  tokens.push(endTarget.id);
4094
4140
  tokens.push(s.endOffset);
4095
- reset$g();
4141
+ reset$h();
4096
4142
  queue(tokens);
4097
4143
  }
4098
4144
  break;
@@ -4115,7 +4161,7 @@ function encode$4 (type, ts) {
4115
4161
  track$8(entry.event, entry.data.x, entry.data.y, entry.time);
4116
4162
  }
4117
4163
  }
4118
- reset$h();
4164
+ reset$i();
4119
4165
  break;
4120
4166
  case 42 /* Event.Change */:
4121
4167
  for (_k = 0, _l = state$a; _k < _l.length; _k++) {
@@ -4131,7 +4177,7 @@ function encode$4 (type, ts) {
4131
4177
  queue(tokens);
4132
4178
  }
4133
4179
  }
4134
- reset$n();
4180
+ reset$o();
4135
4181
  break;
4136
4182
  case 39 /* Event.Submit */:
4137
4183
  for (_m = 0, _o = state$4; _m < _o.length; _m++) {
@@ -4143,7 +4189,7 @@ function encode$4 (type, ts) {
4143
4189
  queue(tokens);
4144
4190
  }
4145
4191
  }
4146
- reset$f();
4192
+ reset$g();
4147
4193
  break;
4148
4194
  case 22 /* Event.Timeline */:
4149
4195
  for (_p = 0, _q = updates$1; _p < _q.length; _p++) {
@@ -4164,13 +4210,13 @@ function encode$4 (type, ts) {
4164
4210
  tokens.push(v.visible);
4165
4211
  queue(tokens);
4166
4212
  visibility(t, v.visible);
4167
- reset$d();
4213
+ reset$e();
4168
4214
  break;
4169
4215
  case 50 /* Event.Focus */: {
4170
4216
  f = data$9;
4171
4217
  tokens.push(f.focused);
4172
4218
  queue(tokens, false);
4173
- reset$c();
4219
+ reset$d();
4174
4220
  break;
4175
4221
  }
4176
4222
  }
@@ -4460,6 +4506,8 @@ function queue(tokens, transmit) {
4460
4506
  case 43 /* Event.Snapshot */:
4461
4507
  case 45 /* Event.StyleSheetAdoption */:
4462
4508
  case 46 /* Event.StyleSheetUpdate */:
4509
+ case 44 /* Event.Animation */:
4510
+ case 51 /* Event.CustomElement */:
4463
4511
  if (leanLimit) {
4464
4512
  break;
4465
4513
  }
@@ -4485,7 +4533,7 @@ function queue(tokens, transmit) {
4485
4533
  // We enrich the data going out with the existing upload. In these cases, call to upload comes with 'transmit' set to false.
4486
4534
  if (transmit && timeout === null) {
4487
4535
  if (type !== 25 /* Event.Ping */) {
4488
- reset$r();
4536
+ reset$s();
4489
4537
  }
4490
4538
  timeout = setTimeout$1(upload, gap);
4491
4539
  queuedTime = now;
@@ -5088,7 +5136,7 @@ function upgrade(key) {
5088
5136
  encode$1(3 /* Event.Upgrade */);
5089
5137
  if (config$2.lite) {
5090
5138
  start$c();
5091
- start$o();
5139
+ start$p();
5092
5140
  }
5093
5141
  }
5094
5142
  }
@@ -5130,7 +5178,7 @@ function encode$1 (event) {
5130
5178
  tokens.push(b.data.pointerPrevTime);
5131
5179
  queue(tokens, false);
5132
5180
  }
5133
- reset$t();
5181
+ reset$u();
5134
5182
  break;
5135
5183
  }
5136
5184
  case 25 /* Event.Ping */:
@@ -5165,7 +5213,7 @@ function encode$1 (event) {
5165
5213
  tokens.push(v);
5166
5214
  tokens.push(data$g[v]);
5167
5215
  }
5168
- reset$p();
5216
+ reset$q();
5169
5217
  queue(tokens, false);
5170
5218
  }
5171
5219
  break;
@@ -5181,7 +5229,7 @@ function encode$1 (event) {
5181
5229
  // However, for data over the wire, we round it off to milliseconds precision.
5182
5230
  tokens.push(Math.round(updates$3[m]));
5183
5231
  }
5184
- reset$s();
5232
+ reset$t();
5185
5233
  queue(tokens, false);
5186
5234
  }
5187
5235
  break;
@@ -5209,7 +5257,7 @@ function encode$1 (event) {
5209
5257
  tokens.push(key);
5210
5258
  tokens.push([].concat.apply([], data$h[e]));
5211
5259
  }
5212
- reset$q();
5260
+ reset$r();
5213
5261
  queue(tokens, false);
5214
5262
  }
5215
5263
  break;
@@ -5226,7 +5274,7 @@ function encode$1 (event) {
5226
5274
  }
5227
5275
  tokens.push(token);
5228
5276
  });
5229
- reset$o();
5277
+ reset$p();
5230
5278
  queue(tokens, false);
5231
5279
  break;
5232
5280
  }
@@ -5895,7 +5943,7 @@ function stop$6() {
5895
5943
  var status = false;
5896
5944
  function start$5() {
5897
5945
  status = true;
5898
- start$L();
5946
+ start$M();
5899
5947
  reset$4();
5900
5948
  reset$1();
5901
5949
  reset$2();
@@ -5906,7 +5954,7 @@ function stop$5() {
5906
5954
  reset$2();
5907
5955
  reset$1();
5908
5956
  reset$4();
5909
- stop$I();
5957
+ stop$J();
5910
5958
  status = false;
5911
5959
  }
5912
5960
  function active() {
@@ -5962,7 +6010,7 @@ function restart() {
5962
6010
  }
5963
6011
 
5964
6012
  function start$4() {
5965
- start$C();
6013
+ start$D();
5966
6014
  start$f();
5967
6015
  start$e();
5968
6016
  }
@@ -5992,6 +6040,7 @@ function start$3() {
5992
6040
  start$l();
5993
6041
  }
5994
6042
  start$c();
6043
+ start$p();
5995
6044
  start$o();
5996
6045
  start$n();
5997
6046
  }
@@ -6000,6 +6049,7 @@ function stop$3() {
6000
6049
  stop$i();
6001
6050
  stop$j();
6002
6051
  stop$k();
6052
+ stop$n();
6003
6053
  stop$m();
6004
6054
  stop$l();
6005
6055
  }
@@ -6302,7 +6352,7 @@ function start(config$1) {
6302
6352
  if (check()) {
6303
6353
  config(config$1);
6304
6354
  start$5();
6305
- start$D();
6355
+ start$E();
6306
6356
  modules.forEach(function (x) { return measure(x.start)(); });
6307
6357
  // If it's an internal call to start, without explicit configuration,
6308
6358
  // re-process any newly accumulated items in the queue
@@ -6333,7 +6383,7 @@ function stop() {
6333
6383
  if (active()) {
6334
6384
  // Stop modules in the reverse order of their initialization and start queuing up items again
6335
6385
  modules.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
6336
- stop$A();
6386
+ stop$B();
6337
6387
  stop$5();
6338
6388
  setup();
6339
6389
  }