clarity-js 0.7.5 → 0.7.7

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.
@@ -78,6 +78,8 @@ function setup() {
78
78
  if (typeof w !== "undefined") {
79
79
  w[c] = function () {
80
80
  (w[c].q = w[c].q || []).push(arguments);
81
+ // if the start function was called, don't queue it and instead process the queue
82
+ arguments[0] === "start" && w[c].q.unshift(w[c].q.pop()) && process$7();
81
83
  };
82
84
  }
83
85
  }
@@ -143,11 +145,11 @@ function time(event) {
143
145
  var ts = event && event.timeStamp > 0 ? event.timeStamp : performance.now();
144
146
  return Math.max(Math.round(ts - startTime), 0);
145
147
  }
146
- function stop$C() {
148
+ function stop$D() {
147
149
  startTime = 0;
148
150
  }
149
151
 
150
- var version$1 = "0.7.5";
152
+ var version$1 = "0.7.7";
151
153
 
152
154
  // tslint:disable: no-bitwise
153
155
  function hash (input, precision) {
@@ -197,6 +199,7 @@ function text$1(value, hint, privacy, mangle) {
197
199
  case 3 /* Privacy.TextImage */:
198
200
  switch (hint) {
199
201
  case "*T" /* Layout.Constant.TextTag */:
202
+ case "data-" /* Layout.Constant.DataAttribute */:
200
203
  return mangle ? mangleText(value) : mask(value);
201
204
  case "src":
202
205
  case "srcset":
@@ -215,6 +218,7 @@ function text$1(value, hint, privacy, mangle) {
215
218
  case 4 /* Privacy.Exclude */:
216
219
  switch (hint) {
217
220
  case "*T" /* Layout.Constant.TextTag */:
221
+ case "data-" /* Layout.Constant.DataAttribute */:
218
222
  return mangle ? mangleText(value) : mask(value);
219
223
  case "value":
220
224
  case "input":
@@ -224,6 +228,25 @@ function text$1(value, hint, privacy, mangle) {
224
228
  case "checksum":
225
229
  return "" /* Data.Constant.Empty */;
226
230
  }
231
+ break;
232
+ case 5 /* Privacy.Snapshot */:
233
+ switch (hint) {
234
+ case "*T" /* Layout.Constant.TextTag */:
235
+ case "data-" /* Layout.Constant.DataAttribute */:
236
+ return scrub(value);
237
+ case "value":
238
+ case "input":
239
+ case "click":
240
+ case "change":
241
+ return Array(5 /* Data.Setting.WordLength */).join("\u2022" /* Data.Constant.Mask */);
242
+ case "checksum":
243
+ case "src":
244
+ case "srcset":
245
+ case "alt":
246
+ case "title":
247
+ return "" /* Data.Constant.Empty */;
248
+ }
249
+ break;
227
250
  }
228
251
  }
229
252
  return value;
@@ -251,6 +274,10 @@ function mangleText(value) {
251
274
  function mask(value) {
252
275
  return value.replace(catchallRegex, "\u2022" /* Data.Constant.Mask */);
253
276
  }
277
+ function scrub(value) {
278
+ regex(); // Initialize regular expressions
279
+ return value.replace(letterRegex, "\u25AA" /* Data.Constant.Letter */).replace(digitRegex, "\u25AB" /* Data.Constant.Digit */);
280
+ }
254
281
  function mangleToken(value) {
255
282
  var length = ((Math.floor(value.length / 5 /* Data.Setting.WordLength */) + 1) * 5 /* Data.Setting.WordLength */);
256
283
  var output = "" /* Layout.Constant.Empty */;
@@ -259,13 +286,7 @@ function mangleToken(value) {
259
286
  }
260
287
  return output;
261
288
  }
262
- function redact(value) {
263
- var spaceIndex = -1;
264
- var gap = 0;
265
- var hasDigit = false;
266
- var hasEmail = false;
267
- var hasWhitespace = false;
268
- var array = null;
289
+ function regex() {
269
290
  // Initialize unicode regex, if supported by the browser
270
291
  // Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Unicode_Property_Escapes
271
292
  if (unicodeRegex && digitRegex === null) {
@@ -278,6 +299,15 @@ function redact(value) {
278
299
  unicodeRegex = false;
279
300
  }
280
301
  }
302
+ }
303
+ function redact(value) {
304
+ var spaceIndex = -1;
305
+ var gap = 0;
306
+ var hasDigit = false;
307
+ var hasEmail = false;
308
+ var hasWhitespace = false;
309
+ var array = null;
310
+ regex(); // Initialize regular expressions
281
311
  for (var i = 0; i < value.length; i++) {
282
312
  var c = value.charCodeAt(i);
283
313
  hasDigit = hasDigit || (c >= 48 /* Data.Character.Zero */ && c <= 57 /* Data.Character.Nine */); // Check for digits in the current word
@@ -389,7 +419,7 @@ function compute$c() {
389
419
  encode$1(4 /* Event.Baseline */);
390
420
  }
391
421
  }
392
- function stop$B() {
422
+ function stop$C() {
393
423
  reset$q();
394
424
  }
395
425
 
@@ -400,7 +430,7 @@ var baseline = /*#__PURE__*/Object.freeze({
400
430
  reset: reset$q,
401
431
  start: start$F,
402
432
  get state () { return state$a; },
403
- stop: stop$B,
433
+ stop: stop$C,
404
434
  track: track$7,
405
435
  visibility: visibility
406
436
  });
@@ -426,7 +456,7 @@ function start$E() {
426
456
  updates$3 = {};
427
457
  count$1(5 /* Metric.InvokeCount */);
428
458
  }
429
- function stop$A() {
459
+ function stop$B() {
430
460
  data$i = {};
431
461
  updates$3 = {};
432
462
  }
@@ -504,7 +534,7 @@ function ping() {
504
534
  suspend();
505
535
  }
506
536
  }
507
- function stop$z() {
537
+ function stop$A() {
508
538
  clearTimeout(timeout$6);
509
539
  last = 0;
510
540
  interval = 0;
@@ -515,14 +545,14 @@ var ping$1 = /*#__PURE__*/Object.freeze({
515
545
  get data () { return data$h; },
516
546
  reset: reset$o,
517
547
  start: start$D,
518
- stop: stop$z
548
+ stop: stop$A
519
549
  });
520
550
 
521
551
  var data$g = null;
522
552
  function start$C() {
523
553
  data$g = {};
524
554
  }
525
- function stop$y() {
555
+ function stop$z() {
526
556
  data$g = {};
527
557
  }
528
558
  function track$6(event, time) {
@@ -555,7 +585,7 @@ var summary = /*#__PURE__*/Object.freeze({
555
585
  get data () { return data$g; },
556
586
  reset: reset$n,
557
587
  start: start$C,
558
- stop: stop$y,
588
+ stop: stop$z,
559
589
  track: track$6
560
590
  });
561
591
 
@@ -584,7 +614,7 @@ function upgrade(key) {
584
614
  encode$1(3 /* Event.Upgrade */);
585
615
  }
586
616
  }
587
- function stop$x() {
617
+ function stop$y() {
588
618
  data$f = null;
589
619
  }
590
620
 
@@ -592,7 +622,7 @@ var upgrade$1 = /*#__PURE__*/Object.freeze({
592
622
  __proto__: null,
593
623
  get data () { return data$f; },
594
624
  start: start$B,
595
- stop: stop$x,
625
+ stop: stop$y,
596
626
  upgrade: upgrade
597
627
  });
598
628
 
@@ -632,7 +662,7 @@ function compute$9() {
632
662
  function reset$m() {
633
663
  data$e = {};
634
664
  }
635
- function stop$w() {
665
+ function stop$x() {
636
666
  reset$m();
637
667
  }
638
668
 
@@ -644,7 +674,7 @@ var variable = /*#__PURE__*/Object.freeze({
644
674
  reset: reset$m,
645
675
  set: set,
646
676
  start: start$A,
647
- stop: stop$w
677
+ stop: stop$x
648
678
  });
649
679
 
650
680
  /******************************************************************************
@@ -764,13 +794,13 @@ function start$z() {
764
794
  start$E();
765
795
  modules$1.forEach(function (x) { return measure(x.start)(); });
766
796
  }
767
- function stop$v() {
797
+ function stop$w() {
768
798
  // Stop modules in the reverse order of their initialization
769
799
  // The ordering below should respect inter-module dependency.
770
800
  // E.g. if upgrade depends on upload, then upgrade needs to end before upload.
771
801
  // Similarly, if upload depends on metadata, upload needs to end before metadata.
772
802
  modules$1.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
773
- stop$A();
803
+ stop$B();
774
804
  }
775
805
  function compute$8() {
776
806
  compute$9();
@@ -920,7 +950,7 @@ function start$x() {
920
950
  reset$k();
921
951
  parse$1(document, true);
922
952
  }
923
- function stop$u() {
953
+ function stop$v() {
924
954
  reset$k();
925
955
  }
926
956
  function reset$k() {
@@ -1267,7 +1297,7 @@ var dom = /*#__PURE__*/Object.freeze({
1267
1297
  parse: parse$1,
1268
1298
  sameorigin: sameorigin,
1269
1299
  start: start$x,
1270
- stop: stop$u,
1300
+ stop: stop$v,
1271
1301
  update: update$1,
1272
1302
  updates: updates$2
1273
1303
  });
@@ -1378,7 +1408,7 @@ function restart$2(timer) {
1378
1408
  tracker[id].yield = y;
1379
1409
  }
1380
1410
  }
1381
- function stop$t(timer) {
1411
+ function stop$u(timer) {
1382
1412
  var end = performance.now();
1383
1413
  var id = key(timer);
1384
1414
  var duration = end - tracker[id].start;
@@ -1398,7 +1428,7 @@ function suspend$1(timer) {
1398
1428
  case 0:
1399
1429
  id = key(timer);
1400
1430
  if (!(id in tracker)) return [3 /*break*/, 2];
1401
- stop$t(timer);
1431
+ stop$u(timer);
1402
1432
  _a = tracker[id];
1403
1433
  return [4 /*yield*/, wait()];
1404
1434
  case 1:
@@ -1541,7 +1571,7 @@ function compute$7() {
1541
1571
  encode$4(8 /* Event.Document */);
1542
1572
  }
1543
1573
  }
1544
- function end() {
1574
+ function stop$t() {
1545
1575
  reset$i();
1546
1576
  }
1547
1577
 
@@ -1676,7 +1706,7 @@ function str$1(input) {
1676
1706
  return input.toString(36);
1677
1707
  }
1678
1708
  function attribute(key, value, privacy) {
1679
- return "".concat(key, "=").concat(text$1(value, key, privacy));
1709
+ return "".concat(key, "=").concat(text$1(value, key.indexOf("data-" /* Constant.DataAttribute */) === 0 ? "data-" /* Constant.DataAttribute */ : key, privacy));
1680
1710
  }
1681
1711
 
1682
1712
  var state$8 = [];
@@ -1849,7 +1879,7 @@ function stop$r() {
1849
1879
  reset$g();
1850
1880
  }
1851
1881
 
1852
- function offset (element) {
1882
+ function offset(element) {
1853
1883
  var output = { x: 0, y: 0 };
1854
1884
  // Walk up the chain to ensure we compute offset distance correctly
1855
1885
  // In case where we may have nested IFRAMEs, we keep walking up until we get to the top most parent page
@@ -1922,6 +1952,18 @@ function handler$2(event, root, evt) {
1922
1952
  schedule$1(encode$3.bind(this, event));
1923
1953
  }
1924
1954
  }
1955
+ function link(node) {
1956
+ while (node && node !== document) {
1957
+ if (node.nodeType === Node.ELEMENT_NODE) {
1958
+ var element = node;
1959
+ if (element.tagName === "A") {
1960
+ return element;
1961
+ }
1962
+ }
1963
+ node = node.parentNode;
1964
+ }
1965
+ return null;
1966
+ }
1925
1967
  function text(element) {
1926
1968
  var output = null;
1927
1969
  if (element) {
@@ -2659,7 +2701,7 @@ function getAttributes(element) {
2659
2701
 
2660
2702
  function traverse (root, timer, source) {
2661
2703
  return __awaiter(this, void 0, void 0, function () {
2662
- var queue, node, next, state, subnode;
2704
+ var queue, entry, next, state, subnode;
2663
2705
  return __generator(this, function (_a) {
2664
2706
  switch (_a.label) {
2665
2707
  case 0:
@@ -2667,8 +2709,8 @@ function traverse (root, timer, source) {
2667
2709
  _a.label = 1;
2668
2710
  case 1:
2669
2711
  if (!(queue.length > 0)) return [3 /*break*/, 4];
2670
- node = queue.shift();
2671
- next = node.firstChild;
2712
+ entry = queue.shift();
2713
+ next = entry.firstChild;
2672
2714
  while (next) {
2673
2715
  queue.push(next);
2674
2716
  next = next.nextSibling;
@@ -2683,7 +2725,7 @@ function traverse (root, timer, source) {
2683
2725
  if (state === 2 /* Task.Stop */) {
2684
2726
  return [3 /*break*/, 4];
2685
2727
  }
2686
- subnode = processNode(node, source);
2728
+ subnode = processNode(entry, source);
2687
2729
  if (subnode) {
2688
2730
  queue.push(subnode);
2689
2731
  }
@@ -2866,7 +2908,7 @@ function process$1() {
2866
2908
  _b.sent();
2867
2909
  return [3 /*break*/, 1];
2868
2910
  case 8:
2869
- stop$t(timer);
2911
+ stop$u(timer);
2870
2912
  return [2 /*return*/];
2871
2913
  }
2872
2914
  });
@@ -2998,18 +3040,6 @@ function target(evt) {
2998
3040
  active$2(); // Mark active periods of time so mutations can continue uninterrupted
2999
3041
  return node.nodeType === Node.DOCUMENT_NODE ? node.documentElement : node;
3000
3042
  }
3001
- function link(node) {
3002
- while (node && node !== document) {
3003
- if (node.nodeType === Node.ELEMENT_NODE) {
3004
- var element = node;
3005
- if (element.tagName === "A") {
3006
- return element;
3007
- }
3008
- }
3009
- node = node.parentNode;
3010
- }
3011
- return null;
3012
- }
3013
3043
  function metadata$2(node, event, text) {
3014
3044
  if (text === void 0) { text = null; }
3015
3045
  // If the node is null, we return a reserved value for id: 0. Valid assignment of id begins from 1+.
@@ -3068,7 +3098,7 @@ function encode$3 (type, ts) {
3068
3098
  entry = _c[_b];
3069
3099
  cTarget = metadata$2(entry.data.target, entry.event, entry.data.text);
3070
3100
  tokens = [entry.time, entry.event];
3071
- cHash = cTarget.hash.join("." /* Constant.Dot */);
3101
+ cHash = cTarget.hash ? cTarget.hash.join("." /* Constant.Dot */) : "" /* Constant.Empty */;
3072
3102
  tokens.push(cTarget.id);
3073
3103
  tokens.push(entry.data.x);
3074
3104
  tokens.push(entry.data.y);
@@ -3288,6 +3318,7 @@ function queue(tokens, transmit) {
3288
3318
  discoverBytes += event_1.length;
3289
3319
  case 37 /* Event.Box */:
3290
3320
  case 6 /* Event.Mutation */:
3321
+ case 43 /* Event.Snapshot */:
3291
3322
  playbackBytes += event_1.length;
3292
3323
  playback.push(event_1);
3293
3324
  break;
@@ -3628,12 +3659,18 @@ function stop$c() {
3628
3659
  }
3629
3660
 
3630
3661
  var data$5 = {};
3631
- var keys = [];
3662
+ var keys = new Set();
3632
3663
  var variables = {};
3633
3664
  var selectors = {};
3665
+ var hashes = {};
3634
3666
  function start$c() {
3635
3667
  reset$4();
3636
3668
  }
3669
+ // Input string is of the following form:
3670
+ // EXTRACT 101 { "1": ".class1", "2": "~window.a.b", "3": "!abc"}
3671
+ // Which will set up event 101 to grab the contents of the class1 selector into component 1,
3672
+ // the javascript evaluated contents of window.a.b into component 2,
3673
+ // and the contents of Clarity's hash abc into component 3
3637
3674
  function trigger$1(input) {
3638
3675
  try {
3639
3676
  var parts = input && input.length > 0 ? input.split(/ (.*)/) : ["" /* Constant.Empty */];
@@ -3641,10 +3678,19 @@ function trigger$1(input) {
3641
3678
  var values = parts.length > 1 ? JSON.parse(parts[1]) : {};
3642
3679
  variables[key] = {};
3643
3680
  selectors[key] = {};
3681
+ hashes[key] = {};
3644
3682
  for (var v in values) {
3683
+ // values is a set of strings for proper JSON parsing, but it's more efficient
3684
+ // to interact with them as numbers
3645
3685
  var id = parseInt(v);
3646
3686
  var value = values[v];
3647
- var source = value.startsWith("~" /* Constant.Tilde */) ? 0 /* ExtractSource.Javascript */ : 2 /* ExtractSource.Text */;
3687
+ var source = 2 /* ExtractSource.Text */;
3688
+ if (value.startsWith("~" /* Constant.Tilde */)) {
3689
+ source = 0 /* ExtractSource.Javascript */;
3690
+ }
3691
+ else if (value.startsWith("!" /* Constant.Bang */)) {
3692
+ source = 4 /* ExtractSource.Hash */;
3693
+ }
3648
3694
  switch (source) {
3649
3695
  case 0 /* ExtractSource.Javascript */:
3650
3696
  var variable = value.substring(1, value.length);
@@ -3653,6 +3699,10 @@ function trigger$1(input) {
3653
3699
  case 2 /* ExtractSource.Text */:
3654
3700
  selectors[key][id] = value;
3655
3701
  break;
3702
+ case 4 /* ExtractSource.Hash */:
3703
+ var hash = value.substring(1, value.length);
3704
+ hashes[key][id] = hash;
3705
+ break;
3656
3706
  }
3657
3707
  }
3658
3708
  }
@@ -3667,44 +3717,56 @@ function compute$4() {
3667
3717
  try {
3668
3718
  for (var v in variables) {
3669
3719
  var key = parseInt(v);
3670
- if (!(key in keys)) {
3671
- var variableData = variables[key];
3672
- for (var v_1 in variableData) {
3673
- var variableKey = parseInt(v_1);
3674
- var value = str(evaluate(clone(variableData[variableKey])));
3675
- if (value) {
3676
- update(key, variableKey, value);
3677
- }
3720
+ var variableData = variables[key];
3721
+ for (var v_1 in variableData) {
3722
+ var variableKey = parseInt(v_1);
3723
+ var value = str(evaluate(clone(variableData[variableKey])));
3724
+ if (value) {
3725
+ update(key, variableKey, value);
3678
3726
  }
3679
- var selectorData = selectors[key];
3680
- for (var s in selectorData) {
3681
- var selectorKey = parseInt(s);
3682
- var nodes = document.querySelectorAll(selectorData[selectorKey]);
3683
- if (nodes) {
3684
- var text = Array.from(nodes).map(function (e) { return e.innerText; });
3685
- update(key, selectorKey, text.join("<SEP>" /* Constant.Seperator */).substring(0, 10000 /* Setting.ExtractLimit */));
3686
- }
3727
+ }
3728
+ var selectorData = selectors[key];
3729
+ for (var s in selectorData) {
3730
+ var selectorKey = parseInt(s);
3731
+ var nodes = document.querySelectorAll(selectorData[selectorKey]);
3732
+ if (nodes) {
3733
+ var text = Array.from(nodes).map(function (e) { return e.innerText; });
3734
+ update(key, selectorKey, text.join("<SEP>" /* Constant.Seperator */).substring(0, 10000 /* Setting.ExtractLimit */));
3687
3735
  }
3688
3736
  }
3737
+ var hashData = hashes[key];
3738
+ for (var h in hashData) {
3739
+ var hashKey = parseInt(h);
3740
+ var content = hashText(hashData[hashKey]).trim().substring(0, 10000 /* Setting.ExtractLimit */);
3741
+ update(key, hashKey, content);
3742
+ }
3743
+ }
3744
+ if (keys.size > 0) {
3745
+ encode$1(40 /* Event.Extract */);
3689
3746
  }
3690
3747
  }
3691
3748
  catch (e) {
3692
3749
  log$1(5 /* Code.Selector */, 1 /* Severity.Warning */, e ? e.name : null);
3693
3750
  }
3694
- encode$1(40 /* Event.Extract */);
3695
3751
  }
3696
3752
  function reset$4() {
3697
- data$5 = {};
3698
- keys = [];
3699
- variables = {};
3700
- selectors = {};
3753
+ keys.clear();
3701
3754
  }
3702
3755
  function update(key, subkey, value) {
3756
+ var update = false;
3703
3757
  if (!(key in data$5)) {
3704
- data$5[key] = [];
3705
- keys.push(key);
3758
+ data$5[key] = {};
3759
+ update = true;
3706
3760
  }
3707
- data$5[key].push([subkey, value]);
3761
+ if (!isEmpty(hashes[key])
3762
+ && (!(subkey in data$5[key]) || data$5[key][subkey] != value)) {
3763
+ update = true;
3764
+ }
3765
+ data$5[key][subkey] = value;
3766
+ if (update) {
3767
+ keys.add(key);
3768
+ }
3769
+ return;
3708
3770
  }
3709
3771
  function stop$b() {
3710
3772
  reset$4();
@@ -3767,6 +3829,9 @@ function match(base, condition) {
3767
3829
  return prop.length > 1 ? base[prop[0]] == prop[1] : base[prop[0]];
3768
3830
  }
3769
3831
  return true;
3832
+ }
3833
+ function isEmpty(obj) {
3834
+ return Object.keys(obj).length == 0;
3770
3835
  }
3771
3836
 
3772
3837
  function encode$1 (event) {
@@ -3869,11 +3934,16 @@ function encode$1 (event) {
3869
3934
  break;
3870
3935
  case 40 /* Event.Extract */:
3871
3936
  var extractKeys = keys;
3872
- for (var _d = 0, extractKeys_1 = extractKeys; _d < extractKeys_1.length; _d++) {
3873
- var e = extractKeys_1[_d];
3937
+ extractKeys.forEach((function (e) {
3874
3938
  tokens.push(e);
3875
- tokens.push([].concat.apply([], data$5[e]));
3876
- }
3939
+ var token = [];
3940
+ for (var d in data$5[e]) {
3941
+ var key = parseInt(d, 10);
3942
+ token.push(key);
3943
+ token.push(data$5[e][d]);
3944
+ }
3945
+ tokens.push(token);
3946
+ }));
3877
3947
  reset$4();
3878
3948
  queue(tokens, false);
3879
3949
  }
@@ -4021,11 +4091,17 @@ function stop$8() {
4021
4091
  }
4022
4092
  function metadata(cb, wait) {
4023
4093
  if (wait === void 0) { wait = true; }
4024
- if (data$2 && wait === false) {
4094
+ var upgraded = config$1.lean ? 0 /* BooleanFlag.False */ : 1 /* BooleanFlag.True */;
4095
+ // if caller hasn't specified that they want to skip waiting for upgrade but we've already upgraded, we need to
4096
+ // directly execute the callback rather than adding to our list as we only process callbacks at the moment
4097
+ // we go through the upgrading flow.
4098
+ if (data$2 && (upgraded || wait === false)) {
4025
4099
  // Immediately invoke the callback if the caller explicitly doesn't want to wait for the upgrade confirmation
4026
4100
  cb(data$2, !config$1.lean);
4027
4101
  }
4028
- callbacks.push({ callback: cb, wait: wait });
4102
+ else {
4103
+ callbacks.push({ callback: cb, wait: wait });
4104
+ }
4029
4105
  }
4030
4106
  function id() {
4031
4107
  return data$2 ? [data$2.userId, data$2.sessionId, data$2.pageNum].join("." /* Constant.Dot */) : "" /* Constant.Empty */;
@@ -4383,7 +4459,7 @@ function stop$5() {
4383
4459
  reset$2();
4384
4460
  reset$1();
4385
4461
  reset$j();
4386
- stop$C();
4462
+ stop$D();
4387
4463
  status = false;
4388
4464
  }
4389
4465
  function active() {
@@ -4472,7 +4548,7 @@ function discover() {
4472
4548
  return [4 /*yield*/, encode$4(5 /* Event.Discover */, timer, ts)];
4473
4549
  case 2:
4474
4550
  _a.sent();
4475
- stop$t(timer);
4551
+ stop$u(timer);
4476
4552
  return [2 /*return*/];
4477
4553
  }
4478
4554
  });
@@ -4490,9 +4566,9 @@ function start$3() {
4490
4566
  }
4491
4567
  function stop$3() {
4492
4568
  stop$s();
4493
- stop$u();
4569
+ stop$v();
4494
4570
  stop$f();
4495
- end();
4571
+ stop$t();
4496
4572
  }
4497
4573
 
4498
4574
  var layout = /*#__PURE__*/Object.freeze({
@@ -4717,7 +4793,7 @@ function stop() {
4717
4793
  if (active()) {
4718
4794
  // Stop modules in the reverse order of their initialization and start queuing up items again
4719
4795
  modules.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
4720
- stop$v();
4796
+ stop$w();
4721
4797
  stop$5();
4722
4798
  setup();
4723
4799
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clarity-js",
3
- "version": "0.7.5",
3
+ "version": "0.7.7",
4
4
  "description": "An analytics library that uses web page interactions to generate aggregated insights",
5
5
  "author": "Microsoft Corp.",
6
6
  "license": "MIT",
package/rollup.config.ts CHANGED
@@ -46,11 +46,11 @@ export default [
46
46
  plugins: [
47
47
  alias({
48
48
  entries: [
49
- { find: '@src/interaction/change', replacement: '@src/core/blank' },
50
- { find: '@src/interaction/clipboard', replacement: '@src/core/blank' },
51
- { find: '@src/interaction/input', replacement: '@src/core/blank' },
52
- { find: '@src/interaction/pointer', replacement: '@src/core/blank' },
53
- { find: '@src/interaction/selection', replacement: '@src/core/blank' }
49
+ { find: '@src/layout/document', replacement: '@src/layout/document' },
50
+ { find: '@src/layout/encode', replacement: '@src/insight/encode' },
51
+ { find: /@src\/interaction\/(change|clipboard|input|pointer|selection)/, replacement: '@src/insight/blank' },
52
+ { find: /@src\/layout.*/, replacement: '@src/insight/snapshot' },
53
+ { find: /@src\/performance.*/, replacement: '@src/insight/blank' }
54
54
  ]
55
55
  }),
56
56
  resolve(),