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