clarity-js 0.8.29 → 0.8.31

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.
@@ -81,12 +81,14 @@ var clarity = /*#__PURE__*/Object.freeze({
81
81
  get event () { return event; },
82
82
  get hashText () { return hashText; },
83
83
  get identify () { return identify; },
84
+ get maxMetric () { return max; },
84
85
  get measure () { return measure; },
85
86
  get metadata () { return metadata; },
86
87
  get pause () { return pause; },
87
88
  get queue () { return queue; },
88
89
  get register () { return register; },
89
90
  get resume () { return resume; },
91
+ get schedule () { return schedule; },
90
92
  get set () { return set; },
91
93
  get signal () { return signal; },
92
94
  get start () { return start; },
@@ -171,7 +173,7 @@ var startTime = 0;
171
173
  function computeStartTime() {
172
174
  return performance.now() + performance.timeOrigin;
173
175
  }
174
- function start$L() {
176
+ function start$M() {
175
177
  startTime = computeStartTime();
176
178
  }
177
179
  // event.timestamp is number of milliseconds elapsed since the document was loaded
@@ -187,11 +189,11 @@ function time(event) {
187
189
  var origin = event && event.view ? event.view.performance.timeOrigin : performance.timeOrigin;
188
190
  return Math.max(Math.round(ts + origin - baseline), 0);
189
191
  }
190
- function stop$I() {
192
+ function stop$J() {
191
193
  startTime = 0;
192
194
  }
193
195
 
194
- var version$1 = "0.8.29";
196
+ var version$1 = "0.8.31";
195
197
 
196
198
  // tslint:disable: no-bitwise
197
199
  function hash (input, precision) {
@@ -412,11 +414,11 @@ function redact$1(value) {
412
414
  var state$b = null;
413
415
  var buffer = null;
414
416
  var update$2 = false;
415
- function start$K() {
417
+ function start$L() {
416
418
  update$2 = false;
417
- reset$t();
419
+ reset$u();
418
420
  }
419
- function reset$t() {
421
+ function reset$u() {
420
422
  // Baseline state holds the previous values - if it is updated in the current payload,
421
423
  // reset the state to current value after sending the previous state
422
424
  if (update$2) {
@@ -549,32 +551,32 @@ function compute$g() {
549
551
  encode$1(4 /* Event.Baseline */);
550
552
  }
551
553
  }
552
- function stop$H() {
553
- reset$t();
554
+ function stop$I() {
555
+ reset$u();
554
556
  }
555
557
 
556
558
  var baseline = /*#__PURE__*/Object.freeze({
557
559
  __proto__: null,
558
560
  activity: activity,
559
561
  compute: compute$g,
560
- reset: reset$t,
561
- start: start$K,
562
+ reset: reset$u,
563
+ start: start$L,
562
564
  get state () { return state$b; },
563
- stop: stop$H,
565
+ stop: stop$I,
564
566
  track: track$8,
565
567
  visibility: visibility
566
568
  });
567
569
 
568
570
  var data$l = null;
569
571
  var updateConsent = true;
570
- function start$J() {
572
+ function start$K() {
571
573
  var _a, _b;
572
574
  updateConsent = true;
573
575
  if ((_b = (_a = window.google_tag_data) === null || _a === void 0 ? void 0 : _a.ics) === null || _b === void 0 ? void 0 : _b.addListener) {
574
576
  window.google_tag_data.ics.addListener(["ad_storage" /* Constant.AdStorage */, "analytics_storage" /* Constant.AnalyticsStorage */], processConsent);
575
577
  }
576
578
  }
577
- function stop$G() {
579
+ function stop$H() {
578
580
  updateConsent = true;
579
581
  }
580
582
  function processConsent() {
@@ -624,8 +626,8 @@ var consent$2 = /*#__PURE__*/Object.freeze({
624
626
  config: config$1,
625
627
  consent: consent$1,
626
628
  get data () { return data$l; },
627
- start: start$J,
628
- stop: stop$G,
629
+ start: start$K,
630
+ stop: stop$H,
629
631
  trackConsentv2: trackConsentv2
630
632
  });
631
633
 
@@ -649,12 +651,12 @@ function event(a, b) {
649
651
 
650
652
  var data$j = null;
651
653
  var updates$3 = null;
652
- function start$I() {
654
+ function start$J() {
653
655
  data$j = {};
654
656
  updates$3 = {};
655
657
  count$1(5 /* Metric.InvokeCount */);
656
658
  }
657
- function stop$F() {
659
+ function stop$G() {
658
660
  data$j = {};
659
661
  updates$3 = {};
660
662
  }
@@ -695,7 +697,7 @@ function max(metric, value) {
695
697
  function compute$e() {
696
698
  encode$1(0 /* Event.Metric */);
697
699
  }
698
- function reset$s() {
700
+ function reset$t() {
699
701
  updates$3 = {};
700
702
  }
701
703
 
@@ -710,11 +712,11 @@ var data$i;
710
712
  var last = 0;
711
713
  var interval = 0;
712
714
  var timeout$7 = null;
713
- function start$H() {
715
+ function start$I() {
714
716
  interval = 60000 /* Setting.PingInterval */;
715
717
  last = 0;
716
718
  }
717
- function reset$r() {
719
+ function reset$s() {
718
720
  if (timeout$7) {
719
721
  clearTimeout$1(timeout$7);
720
722
  }
@@ -732,7 +734,7 @@ function ping() {
732
734
  suspend();
733
735
  }
734
736
  }
735
- function stop$E() {
737
+ function stop$F() {
736
738
  clearTimeout$1(timeout$7);
737
739
  last = 0;
738
740
  interval = 0;
@@ -741,16 +743,16 @@ function stop$E() {
741
743
  var ping$1 = /*#__PURE__*/Object.freeze({
742
744
  __proto__: null,
743
745
  get data () { return data$i; },
744
- reset: reset$r,
745
- start: start$H,
746
- stop: stop$E
746
+ reset: reset$s,
747
+ start: start$I,
748
+ stop: stop$F
747
749
  });
748
750
 
749
751
  var data$h = null;
750
- function start$G() {
752
+ function start$H() {
751
753
  data$h = {};
752
754
  }
753
- function stop$D() {
755
+ function stop$E() {
754
756
  data$h = {};
755
757
  }
756
758
  function track$7(event, time) {
@@ -773,7 +775,7 @@ function track$7(event, time) {
773
775
  function compute$d() {
774
776
  encode$1(36 /* Event.Summary */);
775
777
  }
776
- function reset$q() {
778
+ function reset$r() {
777
779
  data$h = {};
778
780
  }
779
781
 
@@ -781,9 +783,9 @@ var summary = /*#__PURE__*/Object.freeze({
781
783
  __proto__: null,
782
784
  compute: compute$d,
783
785
  get data () { return data$h; },
784
- reset: reset$q,
785
- start: start$G,
786
- stop: stop$D,
786
+ reset: reset$r,
787
+ start: start$H,
788
+ stop: stop$E,
787
789
  track: track$7
788
790
  });
789
791
 
@@ -901,8 +903,8 @@ function read(stream) {
901
903
  }
902
904
 
903
905
  var data$g = null;
904
- function start$F() {
905
- reset$p();
906
+ function start$G() {
907
+ reset$q();
906
908
  }
907
909
  function set(variable, value) {
908
910
  var values = typeof value === "string" /* Constant.String */ ? [value] : value;
@@ -960,11 +962,11 @@ function log$2(variable, value) {
960
962
  function compute$c() {
961
963
  encode$1(34 /* Event.Variable */);
962
964
  }
963
- function reset$p() {
965
+ function reset$q() {
964
966
  data$g = {};
965
967
  }
966
- function stop$C() {
967
- reset$p();
968
+ function stop$D() {
969
+ reset$q();
968
970
  }
969
971
  function redact(input) {
970
972
  return input && input.length >= 5 /* Setting.WordLength */ ?
@@ -1001,10 +1003,10 @@ var variable = /*#__PURE__*/Object.freeze({
1001
1003
  compute: compute$c,
1002
1004
  get data () { return data$g; },
1003
1005
  identify: identify,
1004
- reset: reset$p,
1006
+ reset: reset$q,
1005
1007
  set: set,
1006
- start: start$F,
1007
- stop: stop$C
1008
+ start: start$G,
1009
+ stop: stop$D
1008
1010
  });
1009
1011
 
1010
1012
  var data$f = {};
@@ -1013,8 +1015,8 @@ var variables = {};
1013
1015
  var selectors = {};
1014
1016
  var hashes = {};
1015
1017
  var validation = {};
1016
- function start$E() {
1017
- reset$o();
1018
+ function start$F() {
1019
+ reset$p();
1018
1020
  }
1019
1021
  // Input string is of the following form:
1020
1022
  // EXTRACT 101|element { "1": ".class1", "2": "~window.a.b", "3": "!abc"}
@@ -1110,7 +1112,7 @@ function compute$b() {
1110
1112
  log$1(5 /* Code.Selector */, 1 /* Severity.Warning */, e ? e.name : null);
1111
1113
  }
1112
1114
  }
1113
- function reset$o() {
1115
+ function reset$p() {
1114
1116
  keys.clear();
1115
1117
  }
1116
1118
  function update$1(key, subkey, value) {
@@ -1129,8 +1131,8 @@ function update$1(key, subkey, value) {
1129
1131
  }
1130
1132
  return;
1131
1133
  }
1132
- function stop$B() {
1133
- reset$o();
1134
+ function stop$C() {
1135
+ reset$p();
1134
1136
  }
1135
1137
  function parse$1(variable) {
1136
1138
  var syntax = [];
@@ -1201,9 +1203,9 @@ var extract = /*#__PURE__*/Object.freeze({
1201
1203
  compute: compute$b,
1202
1204
  data: data$f,
1203
1205
  keys: keys,
1204
- reset: reset$o,
1205
- start: start$E,
1206
- stop: stop$B,
1206
+ reset: reset$p,
1207
+ start: start$F,
1208
+ stop: stop$C,
1207
1209
  trigger: trigger$2,
1208
1210
  update: update$1
1209
1211
  });
@@ -1237,18 +1239,18 @@ function signalsEvent(signalsPayload) {
1237
1239
  }
1238
1240
 
1239
1241
  var modules$1 = [baseline, dimension, variable, limit, summary, consent$2, metadata$1, envelope$1, upload$1, ping$1, upgrade$1, extract];
1240
- function start$D() {
1242
+ function start$E() {
1241
1243
  // Metric needs to be initialized before we can start measuring. so metric is not wrapped in measure
1242
- start$I();
1244
+ start$J();
1243
1245
  modules$1.forEach(function (x) { return measure(x.start)(); });
1244
1246
  }
1245
- function stop$A() {
1247
+ function stop$B() {
1246
1248
  // Stop modules in the reverse order of their initialization
1247
1249
  // The ordering below should respect inter-module dependency.
1248
1250
  // E.g. if upgrade depends on upload, then upgrade needs to end before upload.
1249
1251
  // Similarly, if upload depends on metadata, upload needs to end before metadata.
1250
1252
  modules$1.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
1251
- stop$F();
1253
+ stop$G();
1252
1254
  }
1253
1255
  function compute$a() {
1254
1256
  compute$c();
@@ -1263,7 +1265,7 @@ function compute$a() {
1263
1265
 
1264
1266
  var history$5 = [];
1265
1267
  var data$e;
1266
- function start$C() {
1268
+ function start$D() {
1267
1269
  history$5 = [];
1268
1270
  max(26 /* Metric.Automation */, navigator.webdriver ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */);
1269
1271
  try {
@@ -1274,7 +1276,7 @@ function start$C() {
1274
1276
  max(31 /* Metric.Iframed */, 0 /* IframeStatus.Unknown */);
1275
1277
  }
1276
1278
  }
1277
- function check$4(id, target, input) {
1279
+ function check$5(id, target, input) {
1278
1280
  // Compute hash for fraud detection, if enabled. Hash is computed only if input meets the minimum length criteria
1279
1281
  if (config$2.fraud && id !== null && input && input.length >= 5 /* Setting.WordLength */) {
1280
1282
  data$e = { id: id, target: target, checksum: hash(input, 28 /* Setting.ChecksumPrecision */) };
@@ -1287,8 +1289,8 @@ function check$4(id, target, input) {
1287
1289
  }
1288
1290
 
1289
1291
  var state$a = [];
1290
- function start$B() {
1291
- reset$n();
1292
+ function start$C() {
1293
+ reset$o();
1292
1294
  }
1293
1295
  function observe$c(root) {
1294
1296
  bind(root, "change", recompute$8, true);
@@ -1302,11 +1304,11 @@ function recompute$8(evt) {
1302
1304
  schedule(encode$4.bind(this, 42 /* Event.Change */));
1303
1305
  }
1304
1306
  }
1305
- function reset$n() {
1307
+ function reset$o() {
1306
1308
  state$a = [];
1307
1309
  }
1308
- function stop$z() {
1309
- reset$n();
1310
+ function stop$A() {
1311
+ reset$o();
1310
1312
  }
1311
1313
 
1312
1314
  function offset(element) {
@@ -1327,8 +1329,8 @@ function offset(element) {
1327
1329
 
1328
1330
  var UserInputTags = ["input", "textarea", "radio", "button", "canvas", "select"];
1329
1331
  var state$9 = [];
1330
- function start$A() {
1331
- reset$m();
1332
+ function start$B() {
1333
+ reset$n();
1332
1334
  }
1333
1335
  function observe$b(root) {
1334
1336
  bind(root, "click", handler$3.bind(this, 9 /* Event.Click */, root), true);
@@ -1454,16 +1456,16 @@ function context(a) {
1454
1456
  }
1455
1457
  return 0 /* BrowsingContext.Self */;
1456
1458
  }
1457
- function reset$m() {
1459
+ function reset$n() {
1458
1460
  state$9 = [];
1459
1461
  }
1460
- function stop$y() {
1461
- reset$m();
1462
+ function stop$z() {
1463
+ reset$n();
1462
1464
  }
1463
1465
 
1464
1466
  var state$8 = [];
1465
- function start$z() {
1466
- reset$l();
1467
+ function start$A() {
1468
+ reset$m();
1467
1469
  }
1468
1470
  function observe$a(root) {
1469
1471
  bind(root, "cut", recompute$7.bind(this, 0 /* Clipboard.Cut */), true);
@@ -1474,17 +1476,17 @@ function recompute$7(action, evt) {
1474
1476
  state$8.push({ time: time(evt), event: 38 /* Event.Clipboard */, data: { target: target(evt), action: action } });
1475
1477
  schedule(encode$4.bind(this, 38 /* Event.Clipboard */));
1476
1478
  }
1477
- function reset$l() {
1479
+ function reset$m() {
1478
1480
  state$8 = [];
1479
1481
  }
1480
- function stop$x() {
1481
- reset$l();
1482
+ function stop$y() {
1483
+ reset$m();
1482
1484
  }
1483
1485
 
1484
1486
  var timeout$6 = null;
1485
1487
  var state$7 = [];
1486
- function start$y() {
1487
- reset$k();
1488
+ function start$z() {
1489
+ reset$l();
1488
1490
  }
1489
1491
  function observe$9(root) {
1490
1492
  bind(root, "input", recompute$6, true);
@@ -1514,12 +1516,12 @@ function recompute$6(evt) {
1514
1516
  function process$7(event) {
1515
1517
  schedule(encode$4.bind(this, event));
1516
1518
  }
1517
- function reset$k() {
1519
+ function reset$l() {
1518
1520
  state$7 = [];
1519
1521
  }
1520
- function stop$w() {
1522
+ function stop$x() {
1521
1523
  clearTimeout$1(timeout$6);
1522
- reset$k();
1524
+ reset$l();
1523
1525
  }
1524
1526
 
1525
1527
  var state$6 = [];
@@ -1527,8 +1529,8 @@ var timeout$5 = null;
1527
1529
  var hasPrimaryTouch = false;
1528
1530
  var primaryTouchId = 0;
1529
1531
  var activeTouchPointIds = new Set();
1530
- function start$x() {
1531
- reset$j();
1532
+ function start$y() {
1533
+ reset$k();
1532
1534
  }
1533
1535
  function observe$8(root) {
1534
1536
  bind(root, "mousedown", mouse.bind(this, 13 /* Event.MouseDown */, root), true);
@@ -1623,7 +1625,7 @@ function handler$2(current) {
1623
1625
  function process$6(event) {
1624
1626
  schedule(encode$4.bind(this, event));
1625
1627
  }
1626
- function reset$j() {
1628
+ function reset$k() {
1627
1629
  state$6 = [];
1628
1630
  }
1629
1631
  function similar$1(last, current) {
@@ -1635,7 +1637,7 @@ function similar$1(last, current) {
1635
1637
  var sameId = current.data.id !== undefined ? current.data.id === last.data.id : true;
1636
1638
  return current.event === last.event && match && distance < 20 /* Setting.Distance */ && gap < 25 /* Setting.PointerInterval */ && sameId;
1637
1639
  }
1638
- function stop$v() {
1640
+ function stop$w() {
1639
1641
  clearTimeout$1(timeout$5);
1640
1642
  // Send out any pending pointer events in the pipeline
1641
1643
  if (state$6.length > 0) {
@@ -1695,7 +1697,7 @@ var data$d;
1695
1697
  var timeout$4 = null;
1696
1698
  var initialStateLogged = false;
1697
1699
  var throttledRecompute$1 = throttle(recompute$5, 500 /* Setting.LookAhead */);
1698
- function start$w() {
1700
+ function start$x() {
1699
1701
  initialStateLogged = false;
1700
1702
  bind(window, "resize", throttledRecompute$1);
1701
1703
  recompute$5();
@@ -1720,20 +1722,20 @@ function recompute$5() {
1720
1722
  function process$5(event) {
1721
1723
  schedule(encode$4.bind(this, event));
1722
1724
  }
1723
- function reset$i() {
1725
+ function reset$j() {
1724
1726
  data$d = null;
1725
1727
  clearTimeout$1(timeout$4);
1726
1728
  throttledRecompute$1.cleanup();
1727
1729
  }
1728
- function stop$u() {
1729
- reset$i();
1730
+ function stop$v() {
1731
+ reset$j();
1730
1732
  }
1731
1733
 
1732
1734
  var state$5 = [];
1733
1735
  var initialTop = null;
1734
1736
  var initialBottom = null;
1735
1737
  var timeout$3 = null;
1736
- function start$v() {
1738
+ function start$w() {
1737
1739
  state$5 = [];
1738
1740
  recompute$4();
1739
1741
  }
@@ -1805,7 +1807,7 @@ function getPositionNode(x, y) {
1805
1807
  }
1806
1808
  return node;
1807
1809
  }
1808
- function reset$h() {
1810
+ function reset$i() {
1809
1811
  state$5 = [];
1810
1812
  initialTop = null;
1811
1813
  initialBottom = null;
@@ -1829,7 +1831,7 @@ function compute$9() {
1829
1831
  log(32 /* Dimension.InitialScrollBottom */, (_b = bottom === null || bottom === void 0 ? void 0 : bottom.hash) === null || _b === void 0 ? void 0 : _b.join("." /* Constant.Dot */));
1830
1832
  }
1831
1833
  }
1832
- function stop$t() {
1834
+ function stop$u() {
1833
1835
  clearTimeout$1(timeout$3);
1834
1836
  throttledRecompute.cleanup();
1835
1837
  state$5 = [];
@@ -1840,8 +1842,8 @@ function stop$t() {
1840
1842
  var data$c = null;
1841
1843
  var previous = null;
1842
1844
  var timeout$2 = null;
1843
- function start$u() {
1844
- reset$g();
1845
+ function start$v() {
1846
+ reset$h();
1845
1847
  }
1846
1848
  function observe$6(root) {
1847
1849
  bind(root, "selectstart", recompute$3.bind(this, root), true);
@@ -1880,18 +1882,18 @@ function recompute$3(root) {
1880
1882
  function process$3(event) {
1881
1883
  schedule(encode$4.bind(this, event));
1882
1884
  }
1883
- function reset$g() {
1885
+ function reset$h() {
1884
1886
  previous = null;
1885
1887
  data$c = { start: 0, startOffset: 0, end: 0, endOffset: 0 };
1886
1888
  }
1887
- function stop$s() {
1888
- reset$g();
1889
+ function stop$t() {
1890
+ reset$h();
1889
1891
  clearTimeout$1(timeout$2);
1890
1892
  }
1891
1893
 
1892
1894
  var state$4 = [];
1893
- function start$t() {
1894
- reset$f();
1895
+ function start$u() {
1896
+ reset$g();
1895
1897
  }
1896
1898
  function observe$5(root) {
1897
1899
  bind(root, "submit", recompute$2, true);
@@ -1900,15 +1902,15 @@ function recompute$2(evt) {
1900
1902
  state$4.push({ time: time(evt), event: 39 /* Event.Submit */, data: { target: target(evt) } });
1901
1903
  schedule(encode$4.bind(this, 39 /* Event.Submit */));
1902
1904
  }
1903
- function reset$f() {
1905
+ function reset$g() {
1904
1906
  state$4 = [];
1905
1907
  }
1906
- function stop$r() {
1907
- reset$f();
1908
+ function stop$s() {
1909
+ reset$g();
1908
1910
  }
1909
1911
 
1910
1912
  var data$b;
1911
- function start$s() {
1913
+ function start$t() {
1912
1914
  bind(window, "pagehide", recompute$1);
1913
1915
  }
1914
1916
  function recompute$1(evt) {
@@ -1916,15 +1918,15 @@ function recompute$1(evt) {
1916
1918
  encode$4(26 /* Event.Unload */, time(evt));
1917
1919
  stop();
1918
1920
  }
1919
- function reset$e() {
1921
+ function reset$f() {
1920
1922
  data$b = null;
1921
1923
  }
1922
- function stop$q() {
1923
- reset$e();
1924
+ function stop$r() {
1925
+ reset$f();
1924
1926
  }
1925
1927
 
1926
1928
  var data$a;
1927
- function start$r() {
1929
+ function start$s() {
1928
1930
  bind(document, "visibilitychange", recompute);
1929
1931
  recompute();
1930
1932
  }
@@ -1933,22 +1935,22 @@ function recompute(evt) {
1933
1935
  data$a = { visible: "visibilityState" in document ? document.visibilityState : "default" };
1934
1936
  encode$4(28 /* Event.Visibility */, time(evt));
1935
1937
  }
1936
- function reset$d() {
1938
+ function reset$e() {
1937
1939
  data$a = null;
1938
1940
  }
1939
- function stop$p() {
1940
- reset$d();
1941
+ function stop$q() {
1942
+ reset$e();
1941
1943
  }
1942
1944
 
1943
1945
  var data$9;
1944
- function start$q() {
1946
+ function start$r() {
1945
1947
  bind(window, "focus", function () { return compute$8(1 /* BooleanFlag.True */); });
1946
1948
  bind(window, "blur", function () { return compute$8(0 /* BooleanFlag.False */); });
1947
1949
  }
1948
- function stop$o() {
1949
- reset$c();
1950
+ function stop$p() {
1951
+ reset$d();
1950
1952
  }
1951
- function reset$c() {
1953
+ function reset$d() {
1952
1954
  data$9 = null;
1953
1955
  }
1954
1956
  function compute$8(focus) {
@@ -1956,35 +1958,35 @@ function compute$8(focus) {
1956
1958
  encode$4(50 /* Event.Focus */);
1957
1959
  }
1958
1960
 
1959
- function start$p() {
1961
+ function start$q() {
1960
1962
  start$i();
1963
+ start$B();
1961
1964
  start$A();
1965
+ start$y();
1962
1966
  start$z();
1963
1967
  start$x();
1964
- start$y();
1965
- start$w();
1968
+ start$s();
1966
1969
  start$r();
1967
- start$q();
1970
+ start$w();
1968
1971
  start$v();
1972
+ start$C();
1969
1973
  start$u();
1970
- start$B();
1971
1974
  start$t();
1972
- start$s();
1973
1975
  }
1974
- function stop$n() {
1976
+ function stop$o() {
1975
1977
  stop$g();
1978
+ stop$z();
1976
1979
  stop$y();
1980
+ stop$w();
1977
1981
  stop$x();
1978
1982
  stop$v();
1979
- stop$w();
1980
- stop$u();
1983
+ stop$q();
1981
1984
  stop$p();
1982
- stop$o();
1985
+ stop$u();
1983
1986
  stop$t();
1987
+ stop$A();
1984
1988
  stop$s();
1985
- stop$z();
1986
1989
  stop$r();
1987
- stop$q();
1988
1990
  }
1989
1991
  function observe$4(root) {
1990
1992
  observe$7(root);
@@ -2004,8 +2006,8 @@ function observe$4(root) {
2004
2006
  var interaction = /*#__PURE__*/Object.freeze({
2005
2007
  __proto__: null,
2006
2008
  observe: observe$4,
2007
- start: start$p,
2008
- stop: stop$n
2009
+ start: start$q,
2010
+ stop: stop$o
2009
2011
  });
2010
2012
 
2011
2013
  // Following code takes an array of tokens and transforms it to optimize for repeating tokens and make it efficient to send over the wire
@@ -2094,7 +2096,7 @@ function proxyStyleRules$1(win) {
2094
2096
  }
2095
2097
  }
2096
2098
  }
2097
- function start$o() {
2099
+ function start$p() {
2098
2100
  proxyStyleRules$1(window);
2099
2101
  }
2100
2102
  function checkDocumentStyles(documentNode, timestamp) {
@@ -2146,16 +2148,16 @@ function compute$7() {
2146
2148
  checkDocumentStyles(documentNode, ts);
2147
2149
  }
2148
2150
  }
2149
- function reset$b() {
2151
+ function reset$c() {
2150
2152
  sheetAdoptionState = [];
2151
2153
  sheetUpdateState = [];
2152
2154
  }
2153
- function stop$m() {
2155
+ function stop$n() {
2154
2156
  styleSheetMap = {};
2155
2157
  styleTimeMap = {};
2156
2158
  documentNodes = [];
2157
2159
  createdSheetIds = [];
2158
- reset$b();
2160
+ reset$c();
2159
2161
  }
2160
2162
  function trackStyleChange(time, id, operation, cssRules) {
2161
2163
  sheetUpdateState.push({
@@ -2198,14 +2200,14 @@ var animationFinish = null;
2198
2200
  var animationId = 'clarityAnimationId';
2199
2201
  var operationCount = 'clarityOperationCount';
2200
2202
  var maxOperations = 20;
2201
- function start$n() {
2203
+ function start$o() {
2202
2204
  if (window["Animation"] &&
2203
2205
  window["Animation"].prototype &&
2204
2206
  window["KeyframeEffect"] &&
2205
2207
  window["KeyframeEffect"].prototype &&
2206
2208
  window["KeyframeEffect"].prototype.getKeyframes &&
2207
2209
  window["KeyframeEffect"].prototype.getTiming) {
2208
- reset$a();
2210
+ reset$b();
2209
2211
  overrideAnimationHelper(animationPlay, "play");
2210
2212
  overrideAnimationHelper(animationPause, "pause");
2211
2213
  overrideAnimationHelper(animationCommitStyles, "commitStyles");
@@ -2235,7 +2237,7 @@ function start$n() {
2235
2237
  }
2236
2238
  }
2237
2239
  }
2238
- function reset$a() {
2240
+ function reset$b() {
2239
2241
  state$3 = [];
2240
2242
  }
2241
2243
  function track$6(time, id, operation, keyFrames, timing, targetId, timeline) {
@@ -2253,8 +2255,8 @@ function track$6(time, id, operation, keyFrames, timing, targetId, timeline) {
2253
2255
  });
2254
2256
  encode$5(44 /* Event.Animation */);
2255
2257
  }
2256
- function stop$l() {
2257
- reset$a();
2258
+ function stop$m() {
2259
+ reset$b();
2258
2260
  }
2259
2261
  function overrideAnimationHelper(functionToOverride, name) {
2260
2262
  if (functionToOverride === null) {
@@ -2304,13 +2306,49 @@ function trackAnimationOperation(animation, name) {
2304
2306
  }
2305
2307
  }
2306
2308
 
2309
+ var elements = [];
2310
+ var definedElements = new Set();
2311
+ function register$1(tag) {
2312
+ if (!definedElements.has(tag)) {
2313
+ definedElements.add(tag);
2314
+ elements.push(tag);
2315
+ schedule(encode$5.bind(this, 51 /* Event.CustomElement */));
2316
+ }
2317
+ }
2318
+ function check$4(tag) {
2319
+ var _a;
2320
+ if (((_a = window.customElements) === null || _a === void 0 ? void 0 : _a.get) && window.customElements.get(tag)) {
2321
+ register$1(tag);
2322
+ }
2323
+ }
2324
+ function start$n() {
2325
+ var _a;
2326
+ window.clarityOverrides = window.clarityOverrides || {};
2327
+ if (((_a = window.customElements) === null || _a === void 0 ? void 0 : _a.define) && !window.clarityOverrides.define) {
2328
+ window.clarityOverrides.define = window.customElements.define;
2329
+ window.customElements.define = function () {
2330
+ if (active()) {
2331
+ register$1(arguments[0]);
2332
+ }
2333
+ return window.clarityOverrides.define.apply(this, arguments);
2334
+ };
2335
+ }
2336
+ }
2337
+ function reset$a() {
2338
+ elements.length = 0;
2339
+ }
2340
+ function stop$l() {
2341
+ reset$a();
2342
+ definedElements.clear();
2343
+ }
2344
+
2307
2345
  function encode$5 (type, timer, ts) {
2308
2346
  if (timer === void 0) { timer = null; }
2309
2347
  if (ts === void 0) { ts = null; }
2310
2348
  return __awaiter(this, void 0, void 0, function () {
2311
- 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;
2312
- return __generator(this, function (_l) {
2313
- switch (_l.label) {
2349
+ 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;
2350
+ return __generator(this, function (_o) {
2351
+ switch (_o.label) {
2314
2352
  case 0:
2315
2353
  eventTime = ts || time();
2316
2354
  tokens = [eventTime, type];
@@ -2323,15 +2361,16 @@ function encode$5 (type, timer, ts) {
2323
2361
  case 44 /* Event.Animation */: return [3 /*break*/, 4];
2324
2362
  case 5 /* Event.Discover */: return [3 /*break*/, 5];
2325
2363
  case 6 /* Event.Mutation */: return [3 /*break*/, 5];
2364
+ case 51 /* Event.CustomElement */: return [3 /*break*/, 12];
2326
2365
  }
2327
- return [3 /*break*/, 12];
2366
+ return [3 /*break*/, 13];
2328
2367
  case 1:
2329
2368
  d = data$8;
2330
2369
  tokens.push(d.width);
2331
2370
  tokens.push(d.height);
2332
2371
  track$8(type, d.width, d.height);
2333
2372
  queue(tokens);
2334
- return [3 /*break*/, 12];
2373
+ return [3 /*break*/, 13];
2335
2374
  case 2:
2336
2375
  for (_i = 0, _b = state$2; _i < _b.length; _i++) {
2337
2376
  r = _b[_i];
@@ -2343,7 +2382,7 @@ function encode$5 (type, timer, ts) {
2343
2382
  queue(tokens, false);
2344
2383
  }
2345
2384
  reset$6();
2346
- return [3 /*break*/, 12];
2385
+ return [3 /*break*/, 13];
2347
2386
  case 3:
2348
2387
  for (_c = 0, _d = sheetAdoptionState; _c < _d.length; _c++) {
2349
2388
  entry = _d[_c];
@@ -2361,8 +2400,8 @@ function encode$5 (type, timer, ts) {
2361
2400
  tokens.push(entry.data.cssRules);
2362
2401
  queue(tokens, false);
2363
2402
  }
2364
- reset$b();
2365
- return [3 /*break*/, 12];
2403
+ reset$c();
2404
+ return [3 /*break*/, 13];
2366
2405
  case 4:
2367
2406
  for (_g = 0, _h = state$3; _g < _h.length; _g++) {
2368
2407
  entry = _h[_g];
@@ -2375,17 +2414,17 @@ function encode$5 (type, timer, ts) {
2375
2414
  tokens.push(entry.data.targetId);
2376
2415
  queue(tokens);
2377
2416
  }
2378
- reset$a();
2379
- return [3 /*break*/, 12];
2417
+ reset$b();
2418
+ return [3 /*break*/, 13];
2380
2419
  case 5:
2381
2420
  // Check if we are operating within the context of the current page
2382
2421
  if (state(timer) === 2 /* Task.Stop */) {
2383
- return [3 /*break*/, 12];
2422
+ return [3 /*break*/, 13];
2384
2423
  }
2385
2424
  values = updates$2();
2386
2425
  if (!(values.length > 0)) return [3 /*break*/, 11];
2387
2426
  _j = 0, values_1 = values;
2388
- _l.label = 6;
2427
+ _o.label = 6;
2389
2428
  case 6:
2390
2429
  if (!(_j < values_1.length)) return [3 /*break*/, 10];
2391
2430
  value = values_1[_j];
@@ -2393,8 +2432,8 @@ function encode$5 (type, timer, ts) {
2393
2432
  if (!(state$1 === 0 /* Task.Wait */)) return [3 /*break*/, 8];
2394
2433
  return [4 /*yield*/, suspend$1(timer)];
2395
2434
  case 7:
2396
- state$1 = _l.sent();
2397
- _l.label = 8;
2435
+ state$1 = _o.sent();
2436
+ _o.label = 8;
2398
2437
  case 8:
2399
2438
  if (state$1 === 2 /* Task.Stop */) {
2400
2439
  return [3 /*break*/, 10];
@@ -2434,13 +2473,13 @@ function encode$5 (type, timer, ts) {
2434
2473
  }
2435
2474
  break;
2436
2475
  case "value":
2437
- check$4(value.metadata.fraud, value.id, data[key]);
2476
+ check$5(value.metadata.fraud, value.id, data[key]);
2438
2477
  tokens.push(text$1(data[key], data.tag, privacy, mangle));
2439
2478
  break;
2440
2479
  }
2441
2480
  }
2442
2481
  }
2443
- _l.label = 9;
2482
+ _o.label = 9;
2444
2483
  case 9:
2445
2484
  _j++;
2446
2485
  return [3 /*break*/, 6];
@@ -2449,9 +2488,16 @@ function encode$5 (type, timer, ts) {
2449
2488
  activity(eventTime);
2450
2489
  }
2451
2490
  queue(tokenize(tokens), !config$2.lean);
2452
- _l.label = 11;
2453
- case 11: return [3 /*break*/, 12];
2454
- case 12: return [2 /*return*/];
2491
+ _o.label = 11;
2492
+ case 11: return [3 /*break*/, 13];
2493
+ case 12:
2494
+ for (_l = 0, _m = elements; _l < _m.length; _l++) {
2495
+ element = _m[_l];
2496
+ queue([eventTime, 51 /* Event.CustomElement */, element]);
2497
+ }
2498
+ reset$a();
2499
+ return [3 /*break*/, 13];
2500
+ case 13: return [2 /*return*/];
2455
2501
  }
2456
2502
  });
2457
2503
  });
@@ -3212,6 +3258,7 @@ function processNode (node, source, timestamp) {
3212
3258
  dom[call](node, parent, mediaTag, source);
3213
3259
  break;
3214
3260
  default:
3261
+ check$4(element.localName);
3215
3262
  var data = { tag: tag, attributes: attributes };
3216
3263
  if (element.shadowRoot) {
3217
3264
  child = element.shadowRoot;
@@ -3969,7 +4016,7 @@ function metadata$2(node, event, text) {
3969
4016
  track$3(value.region, event);
3970
4017
  }
3971
4018
  if (metadata_1.fraud) {
3972
- check$4(metadata_1.fraud, value.id, text || value.data.value);
4019
+ check$5(metadata_1.fraud, value.id, text || value.data.value);
3973
4020
  }
3974
4021
  }
3975
4022
  }
@@ -4013,7 +4060,7 @@ function encode$4 (type, ts) {
4013
4060
  }
4014
4061
  }
4015
4062
  }
4016
- reset$j();
4063
+ reset$k();
4017
4064
  break;
4018
4065
  case 9 /* Event.Click */:
4019
4066
  case 48 /* Event.ContextMenu */:
@@ -4038,7 +4085,7 @@ function encode$4 (type, ts) {
4038
4085
  queue(tokens);
4039
4086
  track$2(entry.time, entry.event, cHash, entry.data.x, entry.data.y, entry.data.reaction, entry.data.context);
4040
4087
  }
4041
- reset$m();
4088
+ reset$n();
4042
4089
  break;
4043
4090
  case 38 /* Event.Clipboard */:
4044
4091
  for (_d = 0, _e = state$8; _d < _e.length; _d++) {
@@ -4051,21 +4098,21 @@ function encode$4 (type, ts) {
4051
4098
  queue(tokens);
4052
4099
  }
4053
4100
  }
4054
- reset$l();
4101
+ reset$m();
4055
4102
  break;
4056
4103
  case 11 /* Event.Resize */:
4057
4104
  r = data$d;
4058
4105
  tokens.push(r.width);
4059
4106
  tokens.push(r.height);
4060
4107
  track$8(type, r.width, r.height);
4061
- reset$i();
4108
+ reset$j();
4062
4109
  queue(tokens);
4063
4110
  break;
4064
4111
  case 26 /* Event.Unload */:
4065
4112
  u = data$b;
4066
4113
  tokens.push(u.name);
4067
4114
  tokens.push(u.persisted);
4068
- reset$e();
4115
+ reset$f();
4069
4116
  queue(tokens);
4070
4117
  break;
4071
4118
  case 27 /* Event.Input */:
@@ -4078,7 +4125,7 @@ function encode$4 (type, ts) {
4078
4125
  tokens.push(entry.data.trust);
4079
4126
  queue(tokens);
4080
4127
  }
4081
- reset$k();
4128
+ reset$l();
4082
4129
  break;
4083
4130
  case 21 /* Event.Selection */:
4084
4131
  s = data$c;
@@ -4089,7 +4136,7 @@ function encode$4 (type, ts) {
4089
4136
  tokens.push(s.startOffset);
4090
4137
  tokens.push(endTarget.id);
4091
4138
  tokens.push(s.endOffset);
4092
- reset$g();
4139
+ reset$h();
4093
4140
  queue(tokens);
4094
4141
  }
4095
4142
  break;
@@ -4112,7 +4159,7 @@ function encode$4 (type, ts) {
4112
4159
  track$8(entry.event, entry.data.x, entry.data.y, entry.time);
4113
4160
  }
4114
4161
  }
4115
- reset$h();
4162
+ reset$i();
4116
4163
  break;
4117
4164
  case 42 /* Event.Change */:
4118
4165
  for (_k = 0, _l = state$a; _k < _l.length; _k++) {
@@ -4128,7 +4175,7 @@ function encode$4 (type, ts) {
4128
4175
  queue(tokens);
4129
4176
  }
4130
4177
  }
4131
- reset$n();
4178
+ reset$o();
4132
4179
  break;
4133
4180
  case 39 /* Event.Submit */:
4134
4181
  for (_m = 0, _o = state$4; _m < _o.length; _m++) {
@@ -4140,7 +4187,7 @@ function encode$4 (type, ts) {
4140
4187
  queue(tokens);
4141
4188
  }
4142
4189
  }
4143
- reset$f();
4190
+ reset$g();
4144
4191
  break;
4145
4192
  case 22 /* Event.Timeline */:
4146
4193
  for (_p = 0, _q = updates$1; _p < _q.length; _p++) {
@@ -4161,13 +4208,13 @@ function encode$4 (type, ts) {
4161
4208
  tokens.push(v.visible);
4162
4209
  queue(tokens);
4163
4210
  visibility(t, v.visible);
4164
- reset$d();
4211
+ reset$e();
4165
4212
  break;
4166
4213
  case 50 /* Event.Focus */: {
4167
4214
  f = data$9;
4168
4215
  tokens.push(f.focused);
4169
4216
  queue(tokens, false);
4170
- reset$c();
4217
+ reset$d();
4171
4218
  break;
4172
4219
  }
4173
4220
  }
@@ -4457,6 +4504,8 @@ function queue(tokens, transmit) {
4457
4504
  case 43 /* Event.Snapshot */:
4458
4505
  case 45 /* Event.StyleSheetAdoption */:
4459
4506
  case 46 /* Event.StyleSheetUpdate */:
4507
+ case 44 /* Event.Animation */:
4508
+ case 51 /* Event.CustomElement */:
4460
4509
  if (leanLimit) {
4461
4510
  break;
4462
4511
  }
@@ -4482,7 +4531,7 @@ function queue(tokens, transmit) {
4482
4531
  // We enrich the data going out with the existing upload. In these cases, call to upload comes with 'transmit' set to false.
4483
4532
  if (transmit && timeout === null) {
4484
4533
  if (type !== 25 /* Event.Ping */) {
4485
- reset$r();
4534
+ reset$s();
4486
4535
  }
4487
4536
  timeout = setTimeout$1(upload, gap);
4488
4537
  queuedTime = now;
@@ -5085,7 +5134,7 @@ function upgrade(key) {
5085
5134
  encode$1(3 /* Event.Upgrade */);
5086
5135
  if (config$2.lite) {
5087
5136
  start$c();
5088
- start$o();
5137
+ start$p();
5089
5138
  }
5090
5139
  }
5091
5140
  }
@@ -5127,7 +5176,7 @@ function encode$1 (event) {
5127
5176
  tokens.push(b.data.pointerPrevTime);
5128
5177
  queue(tokens, false);
5129
5178
  }
5130
- reset$t();
5179
+ reset$u();
5131
5180
  break;
5132
5181
  }
5133
5182
  case 25 /* Event.Ping */:
@@ -5162,7 +5211,7 @@ function encode$1 (event) {
5162
5211
  tokens.push(v);
5163
5212
  tokens.push(data$g[v]);
5164
5213
  }
5165
- reset$p();
5214
+ reset$q();
5166
5215
  queue(tokens, false);
5167
5216
  }
5168
5217
  break;
@@ -5178,7 +5227,7 @@ function encode$1 (event) {
5178
5227
  // However, for data over the wire, we round it off to milliseconds precision.
5179
5228
  tokens.push(Math.round(updates$3[m]));
5180
5229
  }
5181
- reset$s();
5230
+ reset$t();
5182
5231
  queue(tokens, false);
5183
5232
  }
5184
5233
  break;
@@ -5206,7 +5255,7 @@ function encode$1 (event) {
5206
5255
  tokens.push(key);
5207
5256
  tokens.push([].concat.apply([], data$h[e]));
5208
5257
  }
5209
- reset$q();
5258
+ reset$r();
5210
5259
  queue(tokens, false);
5211
5260
  }
5212
5261
  break;
@@ -5223,7 +5272,7 @@ function encode$1 (event) {
5223
5272
  }
5224
5273
  tokens.push(token);
5225
5274
  });
5226
- reset$o();
5275
+ reset$p();
5227
5276
  queue(tokens, false);
5228
5277
  break;
5229
5278
  }
@@ -5892,7 +5941,7 @@ function stop$6() {
5892
5941
  var status = false;
5893
5942
  function start$5() {
5894
5943
  status = true;
5895
- start$L();
5944
+ start$M();
5896
5945
  reset$4();
5897
5946
  reset$1();
5898
5947
  reset$2();
@@ -5903,7 +5952,7 @@ function stop$5() {
5903
5952
  reset$2();
5904
5953
  reset$1();
5905
5954
  reset$4();
5906
- stop$I();
5955
+ stop$J();
5907
5956
  status = false;
5908
5957
  }
5909
5958
  function active() {
@@ -5959,7 +6008,7 @@ function restart() {
5959
6008
  }
5960
6009
 
5961
6010
  function start$4() {
5962
- start$C();
6011
+ start$D();
5963
6012
  start$f();
5964
6013
  start$e();
5965
6014
  }
@@ -5989,6 +6038,7 @@ function start$3() {
5989
6038
  start$l();
5990
6039
  }
5991
6040
  start$c();
6041
+ start$p();
5992
6042
  start$o();
5993
6043
  start$n();
5994
6044
  }
@@ -5997,6 +6047,7 @@ function stop$3() {
5997
6047
  stop$i();
5998
6048
  stop$j();
5999
6049
  stop$k();
6050
+ stop$n();
6000
6051
  stop$m();
6001
6052
  stop$l();
6002
6053
  }
@@ -6299,7 +6350,7 @@ function start(config$1) {
6299
6350
  if (check()) {
6300
6351
  config(config$1);
6301
6352
  start$5();
6302
- start$D();
6353
+ start$E();
6303
6354
  modules.forEach(function (x) { return measure(x.start)(); });
6304
6355
  // If it's an internal call to start, without explicit configuration,
6305
6356
  // re-process any newly accumulated items in the queue
@@ -6330,7 +6381,7 @@ function stop() {
6330
6381
  if (active()) {
6331
6382
  // Stop modules in the reverse order of their initialization and start queuing up items again
6332
6383
  modules.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
6333
- stop$A();
6384
+ stop$B();
6334
6385
  stop$5();
6335
6386
  setup();
6336
6387
  }