clarity-js 0.8.24 → 0.8.26

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.
@@ -13,8 +13,8 @@ var dom = /*#__PURE__*/Object.freeze({
13
13
  get parse () { return parse; },
14
14
  get removeIFrame () { return removeIFrame; },
15
15
  get sameorigin () { return sameorigin; },
16
- get start () { return start$j; },
17
- get stop () { return stop$h; },
16
+ get start () { return start$k; },
17
+ get stop () { return stop$i; },
18
18
  get update () { return update; },
19
19
  get updates () { return updates$2; }
20
20
  });
@@ -81,13 +81,17 @@ 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 measure () { return measure; },
84
85
  get metadata () { return metadata; },
85
86
  get pause () { return pause; },
87
+ get queue () { return queue; },
88
+ get register () { return register; },
86
89
  get resume () { return resume; },
87
90
  get set () { return set; },
88
91
  get signal () { return signal; },
89
92
  get start () { return start; },
90
93
  get stop () { return stop; },
94
+ get time () { return time; },
91
95
  get upgrade () { return upgrade; },
92
96
  get version () { return version$1; }
93
97
  });
@@ -167,7 +171,7 @@ var startTime = 0;
167
171
  function computeStartTime() {
168
172
  return performance.now() + performance.timeOrigin;
169
173
  }
170
- function start$J() {
174
+ function start$K() {
171
175
  startTime = computeStartTime();
172
176
  }
173
177
  // event.timestamp is number of milliseconds elapsed since the document was loaded
@@ -183,11 +187,11 @@ function time(event) {
183
187
  var origin = event && event.view ? event.view.performance.timeOrigin : performance.timeOrigin;
184
188
  return Math.max(Math.round(ts + origin - baseline), 0);
185
189
  }
186
- function stop$G() {
190
+ function stop$H() {
187
191
  startTime = 0;
188
192
  }
189
193
 
190
- var version$1 = "0.8.24";
194
+ var version$1 = "0.8.26";
191
195
 
192
196
  // tslint:disable: no-bitwise
193
197
  function hash (input, precision) {
@@ -408,7 +412,7 @@ function redact$1(value) {
408
412
  var state$b = null;
409
413
  var buffer = null;
410
414
  var update$2 = false;
411
- function start$I() {
415
+ function start$J() {
412
416
  update$2 = false;
413
417
  reset$s();
414
418
  }
@@ -545,7 +549,7 @@ function compute$f() {
545
549
  encode$1(4 /* Event.Baseline */);
546
550
  }
547
551
  }
548
- function stop$F() {
552
+ function stop$G() {
549
553
  reset$s();
550
554
  }
551
555
 
@@ -554,19 +558,19 @@ var baseline = /*#__PURE__*/Object.freeze({
554
558
  activity: activity,
555
559
  compute: compute$f,
556
560
  reset: reset$s,
557
- start: start$I,
561
+ start: start$J,
558
562
  get state () { return state$b; },
559
- stop: stop$F,
563
+ stop: stop$G,
560
564
  track: track$8,
561
565
  visibility: visibility
562
566
  });
563
567
 
564
568
  var data$k = null;
565
569
  var updateConsent = true;
566
- function start$H() {
570
+ function start$I() {
567
571
  updateConsent = true;
568
572
  }
569
- function stop$E() {
573
+ function stop$F() {
570
574
  updateConsent = true;
571
575
  }
572
576
  function config$1(consent) {
@@ -599,8 +603,8 @@ var consent$2 = /*#__PURE__*/Object.freeze({
599
603
  consent: consent$1,
600
604
  consentv2: consentv2$1,
601
605
  get data () { return data$k; },
602
- start: start$H,
603
- stop: stop$E
606
+ start: start$I,
607
+ stop: stop$F
604
608
  });
605
609
 
606
610
  var data$j = null;
@@ -623,12 +627,12 @@ function event(a, b) {
623
627
 
624
628
  var data$i = null;
625
629
  var updates$3 = null;
626
- function start$G() {
630
+ function start$H() {
627
631
  data$i = {};
628
632
  updates$3 = {};
629
633
  count$1(5 /* Metric.InvokeCount */);
630
634
  }
631
- function stop$D() {
635
+ function stop$E() {
632
636
  data$i = {};
633
637
  updates$3 = {};
634
638
  }
@@ -684,7 +688,7 @@ var data$h;
684
688
  var last = 0;
685
689
  var interval = 0;
686
690
  var timeout$7 = null;
687
- function start$F() {
691
+ function start$G() {
688
692
  interval = 60000 /* Setting.PingInterval */;
689
693
  last = 0;
690
694
  }
@@ -706,7 +710,7 @@ function ping() {
706
710
  suspend();
707
711
  }
708
712
  }
709
- function stop$C() {
713
+ function stop$D() {
710
714
  clearTimeout$1(timeout$7);
711
715
  last = 0;
712
716
  interval = 0;
@@ -716,15 +720,15 @@ var ping$1 = /*#__PURE__*/Object.freeze({
716
720
  __proto__: null,
717
721
  get data () { return data$h; },
718
722
  reset: reset$q,
719
- start: start$F,
720
- stop: stop$C
723
+ start: start$G,
724
+ stop: stop$D
721
725
  });
722
726
 
723
727
  var data$g = null;
724
- function start$E() {
728
+ function start$F() {
725
729
  data$g = {};
726
730
  }
727
- function stop$B() {
731
+ function stop$C() {
728
732
  data$g = {};
729
733
  }
730
734
  function track$7(event, time) {
@@ -756,8 +760,8 @@ var summary = /*#__PURE__*/Object.freeze({
756
760
  compute: compute$c,
757
761
  get data () { return data$g; },
758
762
  reset: reset$p,
759
- start: start$E,
760
- stop: stop$B,
763
+ start: start$F,
764
+ stop: stop$C,
761
765
  track: track$7
762
766
  });
763
767
 
@@ -875,7 +879,7 @@ function read(stream) {
875
879
  }
876
880
 
877
881
  var data$f = null;
878
- function start$D() {
882
+ function start$E() {
879
883
  reset$o();
880
884
  }
881
885
  function set(variable, value) {
@@ -937,7 +941,7 @@ function compute$b() {
937
941
  function reset$o() {
938
942
  data$f = {};
939
943
  }
940
- function stop$A() {
944
+ function stop$B() {
941
945
  reset$o();
942
946
  }
943
947
  function redact(input) {
@@ -977,8 +981,8 @@ var variable = /*#__PURE__*/Object.freeze({
977
981
  identify: identify,
978
982
  reset: reset$o,
979
983
  set: set,
980
- start: start$D,
981
- stop: stop$A
984
+ start: start$E,
985
+ stop: stop$B
982
986
  });
983
987
 
984
988
  var data$e = {};
@@ -987,7 +991,7 @@ var variables = {};
987
991
  var selectors = {};
988
992
  var hashes = {};
989
993
  var validation = {};
990
- function start$C() {
994
+ function start$D() {
991
995
  reset$n();
992
996
  }
993
997
  // Input string is of the following form:
@@ -1103,7 +1107,7 @@ function update$1(key, subkey, value) {
1103
1107
  }
1104
1108
  return;
1105
1109
  }
1106
- function stop$z() {
1110
+ function stop$A() {
1107
1111
  reset$n();
1108
1112
  }
1109
1113
  function parse$1(variable) {
@@ -1176,8 +1180,8 @@ var extract = /*#__PURE__*/Object.freeze({
1176
1180
  data: data$e,
1177
1181
  keys: keys,
1178
1182
  reset: reset$n,
1179
- start: start$C,
1180
- stop: stop$z,
1183
+ start: start$D,
1184
+ stop: stop$A,
1181
1185
  trigger: trigger$2,
1182
1186
  update: update$1
1183
1187
  });
@@ -1211,18 +1215,18 @@ function signalsEvent(signalsPayload) {
1211
1215
  }
1212
1216
 
1213
1217
  var modules$1 = [baseline, dimension, variable, limit, summary, consent$2, metadata$1, envelope$1, upload$1, ping$1, upgrade$1, extract];
1214
- function start$B() {
1218
+ function start$C() {
1215
1219
  // Metric needs to be initialized before we can start measuring. so metric is not wrapped in measure
1216
- start$G();
1220
+ start$H();
1217
1221
  modules$1.forEach(function (x) { return measure(x.start)(); });
1218
1222
  }
1219
- function stop$y() {
1223
+ function stop$z() {
1220
1224
  // Stop modules in the reverse order of their initialization
1221
1225
  // The ordering below should respect inter-module dependency.
1222
1226
  // E.g. if upgrade depends on upload, then upgrade needs to end before upload.
1223
1227
  // Similarly, if upload depends on metadata, upload needs to end before metadata.
1224
1228
  modules$1.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
1225
- stop$D();
1229
+ stop$E();
1226
1230
  }
1227
1231
  function compute$9() {
1228
1232
  compute$b();
@@ -1237,7 +1241,7 @@ function compute$9() {
1237
1241
 
1238
1242
  var history$5 = [];
1239
1243
  var data$d;
1240
- function start$A() {
1244
+ function start$B() {
1241
1245
  history$5 = [];
1242
1246
  max(26 /* Metric.Automation */, navigator.webdriver ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */);
1243
1247
  try {
@@ -1261,7 +1265,7 @@ function check$4(id, target, input) {
1261
1265
  }
1262
1266
 
1263
1267
  var state$a = [];
1264
- function start$z() {
1268
+ function start$A() {
1265
1269
  reset$m();
1266
1270
  }
1267
1271
  function observe$c(root) {
@@ -1279,7 +1283,7 @@ function recompute$8(evt) {
1279
1283
  function reset$m() {
1280
1284
  state$a = [];
1281
1285
  }
1282
- function stop$x() {
1286
+ function stop$y() {
1283
1287
  reset$m();
1284
1288
  }
1285
1289
 
@@ -1301,7 +1305,7 @@ function offset(element) {
1301
1305
 
1302
1306
  var UserInputTags = ["input", "textarea", "radio", "button", "canvas", "select"];
1303
1307
  var state$9 = [];
1304
- function start$y() {
1308
+ function start$z() {
1305
1309
  reset$l();
1306
1310
  }
1307
1311
  function observe$b(root) {
@@ -1431,12 +1435,12 @@ function context(a) {
1431
1435
  function reset$l() {
1432
1436
  state$9 = [];
1433
1437
  }
1434
- function stop$w() {
1438
+ function stop$x() {
1435
1439
  reset$l();
1436
1440
  }
1437
1441
 
1438
1442
  var state$8 = [];
1439
- function start$x() {
1443
+ function start$y() {
1440
1444
  reset$k();
1441
1445
  }
1442
1446
  function observe$a(root) {
@@ -1451,13 +1455,13 @@ function recompute$7(action, evt) {
1451
1455
  function reset$k() {
1452
1456
  state$8 = [];
1453
1457
  }
1454
- function stop$v() {
1458
+ function stop$w() {
1455
1459
  reset$k();
1456
1460
  }
1457
1461
 
1458
1462
  var timeout$6 = null;
1459
1463
  var state$7 = [];
1460
- function start$w() {
1464
+ function start$x() {
1461
1465
  reset$j();
1462
1466
  }
1463
1467
  function observe$9(root) {
@@ -1491,7 +1495,7 @@ function process$7(event) {
1491
1495
  function reset$j() {
1492
1496
  state$7 = [];
1493
1497
  }
1494
- function stop$u() {
1498
+ function stop$v() {
1495
1499
  clearTimeout$1(timeout$6);
1496
1500
  reset$j();
1497
1501
  }
@@ -1501,7 +1505,7 @@ var timeout$5 = null;
1501
1505
  var hasPrimaryTouch = false;
1502
1506
  var primaryTouchId = 0;
1503
1507
  var activeTouchPointIds = new Set();
1504
- function start$v() {
1508
+ function start$w() {
1505
1509
  reset$i();
1506
1510
  }
1507
1511
  function observe$8(root) {
@@ -1609,7 +1613,7 @@ function similar$1(last, current) {
1609
1613
  var sameId = current.data.id !== undefined ? current.data.id === last.data.id : true;
1610
1614
  return current.event === last.event && match && distance < 20 /* Setting.Distance */ && gap < 25 /* Setting.PointerInterval */ && sameId;
1611
1615
  }
1612
- function stop$t() {
1616
+ function stop$u() {
1613
1617
  clearTimeout$1(timeout$5);
1614
1618
  // Send out any pending pointer events in the pipeline
1615
1619
  if (state$6.length > 0) {
@@ -1669,7 +1673,7 @@ var data$c;
1669
1673
  var timeout$4 = null;
1670
1674
  var initialStateLogged = false;
1671
1675
  var throttledRecompute$1 = throttle(recompute$5, 500 /* Setting.LookAhead */);
1672
- function start$u() {
1676
+ function start$v() {
1673
1677
  initialStateLogged = false;
1674
1678
  bind(window, "resize", throttledRecompute$1);
1675
1679
  recompute$5();
@@ -1699,7 +1703,7 @@ function reset$h() {
1699
1703
  clearTimeout$1(timeout$4);
1700
1704
  throttledRecompute$1.cleanup();
1701
1705
  }
1702
- function stop$s() {
1706
+ function stop$t() {
1703
1707
  reset$h();
1704
1708
  }
1705
1709
 
@@ -1707,7 +1711,7 @@ var state$5 = [];
1707
1711
  var initialTop = null;
1708
1712
  var initialBottom = null;
1709
1713
  var timeout$3 = null;
1710
- function start$t() {
1714
+ function start$u() {
1711
1715
  state$5 = [];
1712
1716
  recompute$4();
1713
1717
  }
@@ -1803,7 +1807,7 @@ function compute$8() {
1803
1807
  log(32 /* Dimension.InitialScrollBottom */, (_b = bottom === null || bottom === void 0 ? void 0 : bottom.hash) === null || _b === void 0 ? void 0 : _b.join("." /* Constant.Dot */));
1804
1808
  }
1805
1809
  }
1806
- function stop$r() {
1810
+ function stop$s() {
1807
1811
  clearTimeout$1(timeout$3);
1808
1812
  throttledRecompute.cleanup();
1809
1813
  state$5 = [];
@@ -1814,7 +1818,7 @@ function stop$r() {
1814
1818
  var data$b = null;
1815
1819
  var previous = null;
1816
1820
  var timeout$2 = null;
1817
- function start$s() {
1821
+ function start$t() {
1818
1822
  reset$f();
1819
1823
  }
1820
1824
  function observe$6(root) {
@@ -1858,13 +1862,13 @@ function reset$f() {
1858
1862
  previous = null;
1859
1863
  data$b = { start: 0, startOffset: 0, end: 0, endOffset: 0 };
1860
1864
  }
1861
- function stop$q() {
1865
+ function stop$r() {
1862
1866
  reset$f();
1863
1867
  clearTimeout$1(timeout$2);
1864
1868
  }
1865
1869
 
1866
1870
  var state$4 = [];
1867
- function start$r() {
1871
+ function start$s() {
1868
1872
  reset$e();
1869
1873
  }
1870
1874
  function observe$5(root) {
@@ -1877,12 +1881,12 @@ function recompute$2(evt) {
1877
1881
  function reset$e() {
1878
1882
  state$4 = [];
1879
1883
  }
1880
- function stop$p() {
1884
+ function stop$q() {
1881
1885
  reset$e();
1882
1886
  }
1883
1887
 
1884
1888
  var data$a;
1885
- function start$q() {
1889
+ function start$r() {
1886
1890
  bind(window, "pagehide", recompute$1);
1887
1891
  }
1888
1892
  function recompute$1(evt) {
@@ -1893,12 +1897,12 @@ function recompute$1(evt) {
1893
1897
  function reset$d() {
1894
1898
  data$a = null;
1895
1899
  }
1896
- function stop$o() {
1900
+ function stop$p() {
1897
1901
  reset$d();
1898
1902
  }
1899
1903
 
1900
1904
  var data$9;
1901
- function start$p() {
1905
+ function start$q() {
1902
1906
  bind(document, "visibilitychange", recompute);
1903
1907
  recompute();
1904
1908
  }
@@ -1910,37 +1914,37 @@ function recompute(evt) {
1910
1914
  function reset$c() {
1911
1915
  data$9 = null;
1912
1916
  }
1913
- function stop$n() {
1917
+ function stop$o() {
1914
1918
  reset$c();
1915
1919
  }
1916
1920
 
1917
- function start$o() {
1918
- start$h();
1921
+ function start$p() {
1922
+ start$i();
1923
+ start$z();
1919
1924
  start$y();
1925
+ start$w();
1920
1926
  start$x();
1921
1927
  start$v();
1922
- start$w();
1928
+ start$q();
1923
1929
  start$u();
1924
- start$p();
1925
1930
  start$t();
1931
+ start$A();
1926
1932
  start$s();
1927
- start$z();
1928
1933
  start$r();
1929
- start$q();
1930
1934
  }
1931
- function stop$m() {
1932
- stop$f();
1935
+ function stop$n() {
1936
+ stop$g();
1937
+ stop$x();
1933
1938
  stop$w();
1939
+ stop$u();
1934
1940
  stop$v();
1935
1941
  stop$t();
1936
- stop$u();
1942
+ stop$o();
1937
1943
  stop$s();
1938
- stop$n();
1939
1944
  stop$r();
1945
+ stop$y();
1940
1946
  stop$q();
1941
- stop$x();
1942
1947
  stop$p();
1943
- stop$o();
1944
1948
  }
1945
1949
  function observe$4(root) {
1946
1950
  observe$7(root);
@@ -1960,8 +1964,8 @@ function observe$4(root) {
1960
1964
  var interaction = /*#__PURE__*/Object.freeze({
1961
1965
  __proto__: null,
1962
1966
  observe: observe$4,
1963
- start: start$o,
1964
- stop: stop$m
1967
+ start: start$p,
1968
+ stop: stop$n
1965
1969
  });
1966
1970
 
1967
1971
  // Following code takes an array of tokens and transforms it to optimize for repeating tokens and make it efficient to send over the wire
@@ -2050,7 +2054,7 @@ function proxyStyleRules$1(win) {
2050
2054
  }
2051
2055
  }
2052
2056
  }
2053
- function start$n() {
2057
+ function start$o() {
2054
2058
  proxyStyleRules$1(window);
2055
2059
  }
2056
2060
  function checkDocumentStyles(documentNode, timestamp) {
@@ -2106,7 +2110,7 @@ function reset$b() {
2106
2110
  sheetAdoptionState = [];
2107
2111
  sheetUpdateState = [];
2108
2112
  }
2109
- function stop$l() {
2113
+ function stop$m() {
2110
2114
  styleSheetMap = {};
2111
2115
  styleTimeMap = {};
2112
2116
  documentNodes = [];
@@ -2154,7 +2158,7 @@ var animationFinish = null;
2154
2158
  var animationId = 'clarityAnimationId';
2155
2159
  var operationCount = 'clarityOperationCount';
2156
2160
  var maxOperations = 20;
2157
- function start$m() {
2161
+ function start$n() {
2158
2162
  if (window["Animation"] &&
2159
2163
  window["Animation"].prototype &&
2160
2164
  window["KeyframeEffect"] &&
@@ -2209,7 +2213,7 @@ function track$6(time, id, operation, keyFrames, timing, targetId, timeline) {
2209
2213
  });
2210
2214
  encode$5(44 /* Event.Animation */);
2211
2215
  }
2212
- function stop$k() {
2216
+ function stop$l() {
2213
2217
  reset$a();
2214
2218
  }
2215
2219
  function overrideAnimationHelper(functionToOverride, name) {
@@ -2436,7 +2440,7 @@ var data$8;
2436
2440
  function reset$9() {
2437
2441
  data$8 = null;
2438
2442
  }
2439
- function start$l() {
2443
+ function start$m() {
2440
2444
  reset$9();
2441
2445
  compute$6();
2442
2446
  }
@@ -2463,7 +2467,7 @@ function compute$6() {
2463
2467
  encode$5(8 /* Event.Document */);
2464
2468
  }
2465
2469
  }
2466
- function stop$j() {
2470
+ function stop$k() {
2467
2471
  reset$9();
2468
2472
  }
2469
2473
 
@@ -2515,7 +2519,7 @@ var history$4 = {};
2515
2519
  var observedNodes = new WeakMap();
2516
2520
  // We ignore mutations if these attributes are updated
2517
2521
  var IGNORED_ATTRIBUTES = ["data-google-query-id", "data-load-complete", "data-google-container-id"];
2518
- function start$k() {
2522
+ function start$l() {
2519
2523
  observers = new Set();
2520
2524
  queue$2 = [];
2521
2525
  timeout$1 = null;
@@ -2553,7 +2557,7 @@ function monitor(frame) {
2553
2557
  bind(frame, "load" /* Constant.LoadEvent */, generate.bind(this, frame, "childList" /* Constant.ChildList */), true);
2554
2558
  }
2555
2559
  }
2556
- function stop$i() {
2560
+ function stop$j() {
2557
2561
  for (var _i = 0, _a = Array.from(observers); _i < _a.length; _i++) {
2558
2562
  var observer = _a[_i];
2559
2563
  if (observer) {
@@ -2569,7 +2573,7 @@ function stop$i() {
2569
2573
  timeout$1 = null;
2570
2574
  observedNodes = new WeakMap();
2571
2575
  }
2572
- function active$2() {
2576
+ function active$3() {
2573
2577
  activePeriod = time() + 3000 /* Setting.MutationActivePeriod */;
2574
2578
  }
2575
2579
  function disconnect(n) {
@@ -3365,11 +3369,11 @@ var iframeMap = null; // Maps iframe's contentDocument => parent iframe element
3365
3369
  var iframeContentMap = null; // Maps parent iframe element => iframe's contentDocument & contentWindow
3366
3370
  var privacyMap = null; // Maps node => Privacy (enum)
3367
3371
  var fraudMap = null; // Maps node => FraudId (number)
3368
- function start$j() {
3372
+ function start$k() {
3369
3373
  reset$7();
3370
3374
  parse(document, true);
3371
3375
  }
3372
- function stop$h() {
3376
+ function stop$i() {
3373
3377
  reset$7();
3374
3378
  }
3375
3379
  function reset$7() {
@@ -3764,7 +3768,7 @@ var regions = {};
3764
3768
  var queue$1 = [];
3765
3769
  var watch = false;
3766
3770
  var observer$1 = null;
3767
- function start$i() {
3771
+ function start$j() {
3768
3772
  reset$6();
3769
3773
  observer$1 = null;
3770
3774
  regionMap = new WeakMap();
@@ -3892,7 +3896,7 @@ function clone(r) {
3892
3896
  function reset$6() {
3893
3897
  state$2 = [];
3894
3898
  }
3895
- function stop$g() {
3899
+ function stop$h() {
3896
3900
  reset$6();
3897
3901
  regionMap = null;
3898
3902
  regions = {};
@@ -3907,7 +3911,7 @@ function stop$g() {
3907
3911
  function target(evt) {
3908
3912
  var path = evt.composed && evt.composedPath ? evt.composedPath() : null;
3909
3913
  var node = (path && path.length > 0 ? path[0] : evt.target);
3910
- active$2(); // Mark active periods of time so mutations can continue uninterrupted
3914
+ active$3(); // Mark active periods of time so mutations can continue uninterrupted
3911
3915
  return node && node.nodeType === Node.DOCUMENT_NODE ? node.documentElement : node;
3912
3916
  }
3913
3917
  function metadata$2(node, event, text) {
@@ -4127,7 +4131,7 @@ function encode$4 (type, ts) {
4127
4131
 
4128
4132
  var state$1 = [];
4129
4133
  var updates$1 = [];
4130
- function start$h() {
4134
+ function start$i() {
4131
4135
  state$1 = [];
4132
4136
  reset$5();
4133
4137
  }
@@ -4174,7 +4178,7 @@ function compute$4() {
4174
4178
  state$1 = temp; // Drop events less than the min time
4175
4179
  encode$4(22 /* Event.Timeline */);
4176
4180
  }
4177
- function stop$f() {
4181
+ function stop$g() {
4178
4182
  state$1 = [];
4179
4183
  reset$5();
4180
4184
  }
@@ -4312,6 +4316,53 @@ function add(node, parent, data) {
4312
4316
  }
4313
4317
  }
4314
4318
 
4319
+ var stopCallbacks = [];
4320
+ var active$2 = false;
4321
+ function start$h() {
4322
+ active$2 = true;
4323
+ }
4324
+ function stop$f() {
4325
+ stopCallbacks.reverse().forEach(function (callback) {
4326
+ try {
4327
+ callback();
4328
+ }
4329
+ catch (error) {
4330
+ // Do nothing
4331
+ }
4332
+ });
4333
+ stopCallbacks = [];
4334
+ active$2 = false;
4335
+ }
4336
+ function register(stopCallback) {
4337
+ if (active$2 && typeof stopCallback === "function") {
4338
+ stopCallbacks.push(stopCallback);
4339
+ }
4340
+ }
4341
+ function dynamicEvent(url) {
4342
+ load(url);
4343
+ }
4344
+ function load(url) {
4345
+ if (!active$2)
4346
+ return;
4347
+ try {
4348
+ var script = document.createElement("script");
4349
+ script.src = url;
4350
+ script.async = true;
4351
+ document.head.appendChild(script);
4352
+ }
4353
+ catch (error) {
4354
+ // Do nothing
4355
+ }
4356
+ }
4357
+
4358
+ var dynamic = /*#__PURE__*/Object.freeze({
4359
+ __proto__: null,
4360
+ dynamicEvent: dynamicEvent,
4361
+ register: register,
4362
+ start: start$h,
4363
+ stop: stop$f
4364
+ });
4365
+
4315
4366
  var discoverBytes = 0;
4316
4367
  var playbackBytes = 0;
4317
4368
  var playback;
@@ -4432,6 +4483,10 @@ function upload(final) {
4432
4483
  e = JSON.stringify(envelope(last));
4433
4484
  a = "[".concat(analysis.join(), "]");
4434
4485
  p = sendPlaybackBytes ? "[".concat(playback.join(), "]") : "" /* Constant.Empty */;
4486
+ // For final (beacon) payloads, If size is too large, we need to remove playback data
4487
+ if (last && p.length > 0 && (e.length + a.length + p.length > 65536 /* Setting.MaxBeaconPayloadBytes */)) {
4488
+ p = "" /* Constant.Empty */;
4489
+ }
4435
4490
  encoded = { e: e, a: a, p: p };
4436
4491
  payload = stringify(encoded);
4437
4492
  if (!last) return [3 /*break*/, 1];
@@ -4619,6 +4674,11 @@ function response(payload) {
4619
4674
  signalsEvent(parts[1]);
4620
4675
  }
4621
4676
  break;
4677
+ case "MODULE" /* Constant.Module */:
4678
+ if (parts.length > 1) {
4679
+ dynamicEvent(parts[1]);
4680
+ }
4681
+ break;
4622
4682
  case "SNAPSHOT" /* Constant.Snapshot */:
4623
4683
  config$2.lean = false; // Disable lean mode to ensure we can send playback information to server.
4624
4684
  snapshot();
@@ -4978,7 +5038,7 @@ function upgrade(key) {
4978
5038
  encode$1(3 /* Event.Upgrade */);
4979
5039
  if (config$2.lite) {
4980
5040
  start$c();
4981
- start$n();
5041
+ start$o();
4982
5042
  }
4983
5043
  }
4984
5044
  }
@@ -5400,7 +5460,7 @@ function save() {
5400
5460
  var ts = Math.round(Date.now());
5401
5461
  var upload = config$2.upload && typeof config$2.upload === "string" /* Constant.String */ ? config$2.upload.replace("https://" /* Constant.HTTPS */, "" /* Constant.Empty */) : "" /* Constant.Empty */;
5402
5462
  var upgrade = config$2.lean ? 0 /* BooleanFlag.False */ : 1 /* BooleanFlag.True */;
5403
- setCookie("_clsk" /* Constant.SessionKey */, [data$2.sessionId, ts, data$2.pageNum, upgrade, upload].join("|" /* Constant.Pipe */), 1 /* Setting.SessionExpire */);
5463
+ setCookie("_clsk" /* Constant.SessionKey */, [data$2.sessionId, ts, data$2.pageNum, upgrade, upload].join("^" /* Constant.Caret */), 1 /* Setting.SessionExpire */);
5404
5464
  }
5405
5465
  function processCallback(upgrade, consentUpdate) {
5406
5466
  if (consentUpdate === void 0) { consentUpdate = false; }
@@ -5440,7 +5500,7 @@ function track(u, consent) {
5440
5500
  // To avoid cookie churn, write user id cookie only once every day
5441
5501
  if (u.expiry === null || Math.abs(end - u.expiry) >= 1 /* Setting.CookieInterval */ || u.consent !== consent || u.dob !== dob) {
5442
5502
  var cookieParts = [data$2.userId, 2 /* Setting.CookieVersion */, end.toString(36), consent, dob];
5443
- setCookie("_clck" /* Constant.CookieKey */, cookieParts.join("|" /* Constant.Pipe */), 365 /* Setting.Expire */);
5503
+ setCookie("_clck" /* Constant.CookieKey */, cookieParts.join("^" /* Constant.Caret */), 365 /* Setting.Expire */);
5444
5504
  }
5445
5505
  }
5446
5506
  function shortid() {
@@ -5674,6 +5734,7 @@ function measure (method) {
5674
5734
  if (duration > 30 /* Setting.LongTask */) {
5675
5735
  count$1(7 /* Metric.LongTaskCount */);
5676
5736
  max(6 /* Metric.ThreadBlockedTime */, duration);
5737
+ log$1(9 /* Code.FunctionExecutionTime */, 0 /* Severity.Info */, "".concat(method.dn || method.name, "-").concat(duration));
5677
5738
  }
5678
5739
  };
5679
5740
  }
@@ -5784,7 +5845,7 @@ function stop$6() {
5784
5845
  var status = false;
5785
5846
  function start$5() {
5786
5847
  status = true;
5787
- start$J();
5848
+ start$K();
5788
5849
  reset$4();
5789
5850
  reset$1();
5790
5851
  reset$2();
@@ -5795,7 +5856,7 @@ function stop$5() {
5795
5856
  reset$2();
5796
5857
  reset$1();
5797
5858
  reset$4();
5798
- stop$G();
5859
+ stop$H();
5799
5860
  status = false;
5800
5861
  }
5801
5862
  function active() {
@@ -5851,7 +5912,7 @@ function restart() {
5851
5912
  }
5852
5913
 
5853
5914
  function start$4() {
5854
- start$A();
5915
+ start$B();
5855
5916
  start$f();
5856
5917
  start$e();
5857
5918
  }
@@ -5868,29 +5929,29 @@ var diagnostic = /*#__PURE__*/Object.freeze({
5868
5929
  function start$3() {
5869
5930
  // The order below is important
5870
5931
  // and is determined by interdependencies of modules
5871
- start$l();
5872
- start$i();
5932
+ start$m();
5873
5933
  start$j();
5934
+ start$k();
5874
5935
  if (config$2.delayDom) {
5875
5936
  // Lazy load layout module as part of page load time performance improvements experiment
5876
5937
  bind(window, 'load', function () {
5877
- start$k();
5938
+ start$l();
5878
5939
  });
5879
5940
  }
5880
5941
  else {
5881
- start$k();
5942
+ start$l();
5882
5943
  }
5883
5944
  start$c();
5945
+ start$o();
5884
5946
  start$n();
5885
- start$m();
5886
5947
  }
5887
5948
  function stop$3() {
5888
- stop$g();
5889
5949
  stop$h();
5890
5950
  stop$i();
5891
5951
  stop$j();
5892
- stop$l();
5893
5952
  stop$k();
5953
+ stop$m();
5954
+ stop$l();
5894
5955
  }
5895
5956
 
5896
5957
  var layout = /*#__PURE__*/Object.freeze({
@@ -6184,14 +6245,14 @@ var performance$1 = /*#__PURE__*/Object.freeze({
6184
6245
  stop: stop$1
6185
6246
  });
6186
6247
 
6187
- var modules = [diagnostic, layout, interaction, performance$1];
6248
+ var modules = [diagnostic, layout, interaction, performance$1, dynamic];
6188
6249
  function start(config$1) {
6189
6250
  if (config$1 === void 0) { config$1 = null; }
6190
6251
  // Check that browser supports required APIs and we do not attempt to start Clarity multiple times
6191
6252
  if (check()) {
6192
6253
  config(config$1);
6193
6254
  start$5();
6194
- start$B();
6255
+ start$C();
6195
6256
  modules.forEach(function (x) { return measure(x.start)(); });
6196
6257
  // If it's an internal call to start, without explicit configuration,
6197
6258
  // re-process any newly accumulated items in the queue
@@ -6222,7 +6283,7 @@ function stop() {
6222
6283
  if (active()) {
6223
6284
  // Stop modules in the reverse order of their initialization and start queuing up items again
6224
6285
  modules.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
6225
- stop$y();
6286
+ stop$z();
6226
6287
  stop$5();
6227
6288
  setup();
6228
6289
  }