@atlaskit/react-ufo 3.12.3 → 3.12.5

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.
Files changed (98) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +2 -1
  3. package/dist/cjs/create-payload/utils/get-vc-metrics.js +2 -1
  4. package/dist/cjs/create-post-interaction-log-payload/index.js +6 -7
  5. package/dist/cjs/interaction-metrics/post-interaction-log.js +3 -11
  6. package/dist/cjs/vc/index.js +4 -2
  7. package/dist/cjs/vc/vc-observer/getVCRevisionDebugDetails.js +41 -0
  8. package/dist/cjs/vc/vc-observer/index.js +59 -33
  9. package/dist/cjs/vc/vc-observer-new/index.js +13 -7
  10. package/dist/cjs/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +211 -36
  11. package/dist/cjs/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
  12. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +94 -4
  13. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +108 -0
  14. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +16 -57
  15. package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +15 -5
  16. package/dist/cjs/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
  17. package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +2 -1
  18. package/dist/es2019/create-payload/utils/get-vc-metrics.js +1 -0
  19. package/dist/es2019/create-post-interaction-log-payload/index.js +6 -7
  20. package/dist/es2019/interaction-metrics/post-interaction-log.js +4 -13
  21. package/dist/es2019/vc/index.js +4 -2
  22. package/dist/es2019/vc/vc-observer/getVCRevisionDebugDetails.js +32 -0
  23. package/dist/es2019/vc/vc-observer/index.js +30 -1
  24. package/dist/es2019/vc/vc-observer-new/index.js +12 -6
  25. package/dist/es2019/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +115 -17
  26. package/dist/es2019/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
  27. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +44 -1
  28. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +75 -0
  29. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +2 -20
  30. package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +15 -5
  31. package/dist/es2019/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
  32. package/dist/esm/create-experimental-interaction-metrics-payload/index.js +2 -1
  33. package/dist/esm/create-payload/utils/get-vc-metrics.js +2 -1
  34. package/dist/esm/create-post-interaction-log-payload/index.js +6 -7
  35. package/dist/esm/interaction-metrics/post-interaction-log.js +3 -11
  36. package/dist/esm/vc/index.js +4 -2
  37. package/dist/esm/vc/vc-observer/getVCRevisionDebugDetails.js +35 -0
  38. package/dist/esm/vc/vc-observer/index.js +59 -33
  39. package/dist/esm/vc/vc-observer-new/index.js +13 -7
  40. package/dist/esm/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +211 -36
  41. package/dist/esm/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
  42. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +94 -5
  43. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +106 -0
  44. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +2 -55
  45. package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +15 -5
  46. package/dist/esm/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
  47. package/dist/types/vc/types.d.ts +1 -0
  48. package/dist/types/vc/vc-observer/getVCRevisionDebugDetails.d.ts +30 -0
  49. package/dist/types/vc/vc-observer/index.d.ts +1 -1
  50. package/dist/types/vc/vc-observer-new/index.d.ts +2 -0
  51. package/dist/types/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +4 -1
  52. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +5 -1
  53. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.d.ts +1 -0
  54. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -4
  55. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/types.d.ts +20 -2
  56. package/dist/types/vc/vc-observer-new/metric-calculator/types.d.ts +2 -0
  57. package/dist/types/vc/vc-observer-new/types.d.ts +5 -1
  58. package/dist/types/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -0
  59. package/dist/types/vc/vc-observer-new/viewport-observer/types.d.ts +2 -0
  60. package/dist/types-ts4.5/vc/types.d.ts +1 -0
  61. package/dist/types-ts4.5/vc/vc-observer/getVCRevisionDebugDetails.d.ts +30 -0
  62. package/dist/types-ts4.5/vc/vc-observer/index.d.ts +1 -1
  63. package/dist/types-ts4.5/vc/vc-observer-new/index.d.ts +2 -0
  64. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +4 -1
  65. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +5 -1
  66. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.d.ts +1 -0
  67. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -4
  68. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/types.d.ts +20 -2
  69. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/types.d.ts +2 -0
  70. package/dist/types-ts4.5/vc/vc-observer-new/types.d.ts +5 -1
  71. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -0
  72. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/types.d.ts +2 -0
  73. package/package.json +4 -4
  74. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -367
  75. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -398
  76. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -5
  77. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -152
  78. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -108
  79. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -248
  80. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -263
  81. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -1
  82. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -99
  83. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -60
  84. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -361
  85. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -391
  86. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -1
  87. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -145
  88. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -101
  89. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.d.ts +0 -39
  90. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +0 -10
  91. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.d.ts +0 -43
  92. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +0 -12
  93. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +0 -25
  94. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.d.ts +0 -39
  95. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +0 -10
  96. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.d.ts +0 -43
  97. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +0 -12
  98. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +0 -25
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/ufo-interaction-ignore
2
2
 
3
+ ## 3.12.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [#156815](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/156815)
8
+ [`a6856b45ef58f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a6856b45ef58f) -
9
+ make ttvc v3 more debugable
10
+
11
+ ## 3.12.4
12
+
13
+ ### Patch Changes
14
+
15
+ - [#156458](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/156458)
16
+ [`98659a9117f77`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/98659a9117f77) -
17
+ FG cleanup - platform_ufo_post_interaction_use_vc_rev
18
+
3
19
  ## 3.12.3
4
20
 
5
21
  ### Patch Changes
@@ -112,7 +112,8 @@ function _getExperimentalVCMetrics() {
112
112
  isEventAborted: !!interaction.abortReason,
113
113
  prefix: prefix,
114
114
  vc: interaction.vc,
115
- experienceKey: interaction.ufoName
115
+ experienceKey: interaction.ufoName,
116
+ interactionId: interaction.id
116
117
  });
117
118
  case 4:
118
119
  result = _context.sent;
@@ -65,7 +65,8 @@ function _getVCMetrics() {
65
65
  prefix: prefix,
66
66
  vc: interaction.vc,
67
67
  isEventAborted: interactionStatus.originalInteractionStatus !== 'SUCCEEDED',
68
- experienceKey: interaction.ufoName
68
+ experienceKey: interaction.ufoName,
69
+ interactionId: interaction.id
69
70
  }, ssr));
70
71
  case 18:
71
72
  result = _context.sent;
@@ -136,13 +136,12 @@ function createPostInteractionLogPayload(_ref2) {
136
136
 
137
137
  // Align post-interaction-logs closer to UFO event behaviour,
138
138
  // e.g. also check for aborted or failed events
139
- if ((0, _platformFeatureFlags.fg)('platform_ufo_vc_align_revisions_on_watchdog_event')) {
140
- if (lastInteractionFinish.abortReason) {
141
- return null;
142
- }
143
- if (lastInteractionFinish.errors.length > 0) {
144
- return null;
145
- }
139
+
140
+ if (lastInteractionFinish.abortReason) {
141
+ return null;
142
+ }
143
+ if (lastInteractionFinish.errors.length > 0) {
144
+ return null;
146
145
  }
147
146
  var maxEndTimeFromProfiler = reactProfilerTimings ? Math.max.apply(Math, (0, _toConsumableArray2.default)(reactProfilerTimings.map(function (t) {
148
147
  return t.commitTime;
@@ -10,10 +10,8 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
13
  var _config = require("../config");
15
14
  var _vc = require("../vc");
16
- var _vcObserver = require("../vc/vc-observer");
17
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
16
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
17
  var POST_INTERACTION_LOG_SEND_DEFAULT_TIMEOUT = 3000;
@@ -45,15 +43,9 @@ var PostInteractionLog = exports.default = /*#__PURE__*/function () {
45
43
  return (0, _createClass2.default)(PostInteractionLog, [{
46
44
  key: "initializeVCObserver",
47
45
  value: function initializeVCObserver(options) {
48
- if ((0, _platformFeatureFlags.fg)('platform_ufo_vc_align_revisions_on_watchdog_event')) {
49
- this.vcObserver = new _vc.VCObserverWrapper(_objectSpread(_objectSpread({}, options), {}, {
50
- isPostInteraction: true
51
- }));
52
- } else if (this.vcObserver === null) {
53
- this.vcObserver = new _vcObserver.VCObserver(_objectSpread(_objectSpread({}, options), {}, {
54
- isPostInteraction: true
55
- }));
56
- }
46
+ this.vcObserver = new _vc.VCObserverWrapper(_objectSpread(_objectSpread({}, options), {}, {
47
+ isPostInteraction: true
48
+ }));
57
49
  }
58
50
  }, {
59
51
  key: "startVCObserver",
@@ -131,7 +131,8 @@ var VCObserverWrapper = exports.VCObserverWrapper = /*#__PURE__*/function () {
131
131
  _context.next = 13;
132
132
  return (_this$newVCObserver5 = this.newVCObserver) === null || _this$newVCObserver5 === void 0 ? void 0 : _this$newVCObserver5.getVCResult({
133
133
  start: param.start,
134
- stop: param.stop
134
+ stop: param.stop,
135
+ interactionId: param.interactionId
135
136
  });
136
137
  case 13:
137
138
  _context.t1 = _context.sent;
@@ -158,7 +159,8 @@ var VCObserverWrapper = exports.VCObserverWrapper = /*#__PURE__*/function () {
158
159
  _context.next = 28;
159
160
  return (_this$newVCObserver6 = this.newVCObserver) === null || _this$newVCObserver6 === void 0 ? void 0 : _this$newVCObserver6.getVCResult({
160
161
  start: param.start,
161
- stop: param.stop
162
+ stop: param.stop,
163
+ interactionId: param.interactionId
162
164
  });
163
165
  case 28:
164
166
  newResult = _context.sent;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getVCRevisionDebugDetails = getVCRevisionDebugDetails;
7
+ function getVCRevisionDebugDetails(_ref) {
8
+ var revision = _ref.revision,
9
+ isClean = _ref.isClean,
10
+ abortReason = _ref.abortReason,
11
+ VCEntries = _ref.VCEntries,
12
+ componentsLog = _ref.componentsLog,
13
+ interactionId = _ref.interactionId;
14
+ return {
15
+ revision: revision,
16
+ isClean: isClean,
17
+ abortReason: abortReason,
18
+ vcLogs: VCEntries.map(function (entry) {
19
+ return {
20
+ time: entry.time,
21
+ viewportPercentage: entry.vc,
22
+ entries: entry.elements.map(function (element) {
23
+ var _componentsLog$entry$;
24
+ var logEntry = (_componentsLog$entry$ = componentsLog[entry.time]) === null || _componentsLog$entry$ === void 0 ? void 0 : _componentsLog$entry$.find(function (log) {
25
+ return log.targetName === element;
26
+ });
27
+ return {
28
+ elementName: element,
29
+ type: logEntry === null || logEntry === void 0 ? void 0 : logEntry.type,
30
+ rect: logEntry === null || logEntry === void 0 ? void 0 : logEntry.intersectionRect,
31
+ visible: true,
32
+ attributeName: logEntry === null || logEntry === void 0 ? void 0 : logEntry.attributeName,
33
+ oldValue: logEntry === null || logEntry === void 0 ? void 0 : logEntry.oldValue,
34
+ newValue: logEntry === null || logEntry === void 0 ? void 0 : logEntry.newValue
35
+ };
36
+ })
37
+ };
38
+ }),
39
+ interactionId: interactionId
40
+ };
41
+ }
@@ -17,6 +17,7 @@ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
17
  var _config = require("../../config");
18
18
  var _interactionMetrics = require("../../interaction-metrics");
19
19
  var _attachAbortListeners = require("./attachAbortListeners");
20
+ var _getVCRevisionDebugDetails = require("./getVCRevisionDebugDetails");
20
21
  var _getVCRevisionsData = require("./getVCRevisionsData");
21
22
  var _getViewport = require("./getViewport");
22
23
  var _heatmap = require("./heatmap/heatmap");
@@ -106,11 +107,11 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
106
107
  });
107
108
  (0, _defineProperty2.default)(this, "getVCResult", /*#__PURE__*/function () {
108
109
  var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref3) {
109
- var start, stop, tti, prefix, ssr, vc, isEventAborted, experienceKey, startTime, fullPrefix, rawData, abortReason, abortReasonInfo, heatmap, heatmapNext, outOfBoundaryInfo, totalTime, componentsLog, viewport, devToolsEnabled, ratios, multiHeatmap, isTTVCv1Disabled, vcAbortedResultWithRevisions, ttvcV1Result, VC, VCBox, VCEntries, totalPainted, _componentsLog, vcNext, outOfBoundary, stopTime, ttvcV1DevToolInfo, ttvcV2DevToolInfo, isVCClean, revisionsData, speedIndex, isTTVCv3Enabled;
110
+ var start, stop, tti, prefix, ssr, vc, isEventAborted, experienceKey, interactionId, startTime, fullPrefix, rawData, abortReason, abortReasonInfo, heatmap, heatmapNext, outOfBoundaryInfo, totalTime, componentsLog, viewport, devToolsEnabled, ratios, multiHeatmap, isTTVCv1Disabled, vcAbortedResultWithRevisions, ttvcV1Result, VC, VCBox, VCEntries, totalPainted, _componentsLog, vcNext, outOfBoundary, stopTime, ttvcV1DevToolInfo, ttvcV2DevToolInfo, _ufo_devtool_onVCRev2, _ref10, _ufo_devtool_onVCRev, _ref9, isVCClean, revisionsData, speedIndex, isTTVCv3Enabled;
110
111
  return _regenerator.default.wrap(function _callee$(_context) {
111
112
  while (1) switch (_context.prev = _context.next) {
112
113
  case 0:
113
- start = _ref3.start, stop = _ref3.stop, tti = _ref3.tti, prefix = _ref3.prefix, ssr = _ref3.ssr, vc = _ref3.vc, isEventAborted = _ref3.isEventAborted, experienceKey = _ref3.experienceKey;
114
+ start = _ref3.start, stop = _ref3.stop, tti = _ref3.tti, prefix = _ref3.prefix, ssr = _ref3.ssr, vc = _ref3.vc, isEventAborted = _ref3.isEventAborted, experienceKey = _ref3.experienceKey, interactionId = _ref3.interactionId;
114
115
  startTime = performance.now(); // add local measurement
115
116
  fullPrefix = prefix !== undefined && prefix !== '' ? "".concat(prefix, ":") : '';
116
117
  rawData = vc !== undefined ? vc : _this.getVCRawData();
@@ -287,6 +288,31 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
287
288
  entries: isTTVCv1Disabled ? vcNext.VCEntries.rel : VCEntries.rel
288
289
  }
289
290
  }));
291
+
292
+ // Add devtool callback for both v1 and v2
293
+ if (typeof window.__ufo_devtool_onVCRevisionReady__ === 'function' && (0, _platformFeatureFlags.fg)('platform_ufo_ttvc_v3_devtool')) {
294
+ // Handle v1 if not disabled
295
+ if (!isTTVCv1Disabled) {
296
+ (_ufo_devtool_onVCRev = (_ref9 = window).__ufo_devtool_onVCRevisionReady__) === null || _ufo_devtool_onVCRev === void 0 || _ufo_devtool_onVCRev.call(_ref9, (0, _getVCRevisionDebugDetails.getVCRevisionDebugDetails)({
297
+ revision: 'fy25.01',
298
+ isClean: !abortReasonInfo,
299
+ abortReason: abortReason.reason,
300
+ VCEntries: VCEntries.rel,
301
+ componentsLog: componentsLog,
302
+ interactionId: interactionId
303
+ }));
304
+ }
305
+
306
+ // Handle v2
307
+ (_ufo_devtool_onVCRev2 = (_ref10 = window).__ufo_devtool_onVCRevisionReady__) === null || _ufo_devtool_onVCRev2 === void 0 || _ufo_devtool_onVCRev2.call(_ref10, (0, _getVCRevisionDebugDetails.getVCRevisionDebugDetails)({
308
+ revision: 'fy25.02',
309
+ isClean: !abortReasonInfo,
310
+ abortReason: abortReason.reason,
311
+ VCEntries: vcNext.VCEntries.rel,
312
+ componentsLog: componentsLog,
313
+ interactionId: interactionId
314
+ }));
315
+ }
290
316
  }
291
317
  } catch (e) {
292
318
  /* do nothing */
@@ -387,16 +413,16 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
387
413
  });
388
414
  }
389
415
  });
390
- (0, _defineProperty2.default)(this, "onViewportChangeDetected", function (_ref9) {
391
- var element = _ref9.element,
392
- type = _ref9.type,
393
- ignoreReason = _ref9.ignoreReason,
394
- timestamp = _ref9.timestamp,
395
- targetName = _ref9.targetName,
396
- intersectionRect = _ref9.intersectionRect,
397
- attributeName = _ref9.attributeName,
398
- oldValue = _ref9.oldValue,
399
- newValue = _ref9.newValue;
416
+ (0, _defineProperty2.default)(this, "onViewportChangeDetected", function (_ref11) {
417
+ var element = _ref11.element,
418
+ type = _ref11.type,
419
+ ignoreReason = _ref11.ignoreReason,
420
+ timestamp = _ref11.timestamp,
421
+ targetName = _ref11.targetName,
422
+ intersectionRect = _ref11.intersectionRect,
423
+ attributeName = _ref11.attributeName,
424
+ oldValue = _ref11.oldValue,
425
+ newValue = _ref11.newValue;
400
426
  if (_this.multiHeatmap === null) {
401
427
  return;
402
428
  }
@@ -481,10 +507,10 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
481
507
  var unbinds = (0, _attachAbortListeners.attachAbortListeners)(window, _this.viewport, _this.abortReasonCallback);
482
508
  if ((_window = window) !== null && _window !== void 0 && _window.__SSR_ABORT_LISTENERS__) {
483
509
  var _window2;
484
- Object.entries(window.__SSR_ABORT_LISTENERS__.aborts).forEach(function (_ref10) {
485
- var _ref11 = (0, _slicedToArray2.default)(_ref10, 2),
486
- key = _ref11[0],
487
- time = _ref11[1];
510
+ Object.entries(window.__SSR_ABORT_LISTENERS__.aborts).forEach(function (_ref12) {
511
+ var _ref13 = (0, _slicedToArray2.default)(_ref12, 2),
512
+ key = _ref13[0],
513
+ time = _ref13[1];
488
514
  if (time) {
489
515
  _this.abortReasonCallback(key, time);
490
516
  }
@@ -517,8 +543,8 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
517
543
  }
518
544
  return (0, _createClass2.default)(VCObserver, [{
519
545
  key: "start",
520
- value: function start(_ref12) {
521
- var startTime = _ref12.startTime;
546
+ value: function start(_ref14) {
547
+ var startTime = _ref14.startTime;
522
548
  this.active = true;
523
549
  if (this.observers.isBrowserSupported()) {
524
550
  this.setViewportSize();
@@ -540,12 +566,12 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
540
566
  }, {
541
567
  key: "getIgnoredElements",
542
568
  value: function getIgnoredElements(componentsLog) {
543
- return Object.values(componentsLog).flat().filter(function (_ref13) {
544
- var ignoreReason = _ref13.ignoreReason;
569
+ return Object.values(componentsLog).flat().filter(function (_ref15) {
570
+ var ignoreReason = _ref15.ignoreReason;
545
571
  return Boolean(ignoreReason);
546
- }).map(function (_ref14) {
547
- var targetName = _ref14.targetName,
548
- ignoreReason = _ref14.ignoreReason;
572
+ }).map(function (_ref16) {
573
+ var targetName = _ref16.targetName,
574
+ ignoreReason = _ref16.ignoreReason;
549
575
  return {
550
576
  targetName: targetName,
551
577
  ignoreReason: ignoreReason
@@ -668,12 +694,12 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
668
694
  }
669
695
  }], [{
670
696
  key: "calculateVC",
671
- value: function calculateVC(_ref15) {
672
- var heatmap = _ref15.heatmap,
673
- _ref15$ssr = _ref15.ssr,
674
- ssr = _ref15$ssr === void 0 ? UNUSED_SECTOR : _ref15$ssr,
675
- componentsLog = _ref15.componentsLog,
676
- viewport = _ref15.viewport;
697
+ value: function calculateVC(_ref17) {
698
+ var heatmap = _ref17.heatmap,
699
+ _ref17$ssr = _ref17.ssr,
700
+ ssr = _ref17$ssr === void 0 ? UNUSED_SECTOR : _ref17$ssr,
701
+ componentsLog = _ref17.componentsLog,
702
+ viewport = _ref17.viewport;
677
703
  var lastUpdate = {};
678
704
  var totalPainted = 0;
679
705
  if (ssr !== UNUSED_SECTOR) {
@@ -739,11 +765,11 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
739
765
  });
740
766
  return VCRatio;
741
767
  }, 0);
742
- var VCEntries = entries.reduce(function (acc, _ref16, i) {
768
+ var VCEntries = entries.reduce(function (acc, _ref18, i) {
743
769
  var _acc$abs, _componentsLog$timest, _acc$rel$vc, _acc$rel;
744
- var _ref17 = (0, _slicedToArray2.default)(_ref16, 2),
745
- timestamp = _ref17[0],
746
- entryPainted = _ref17[1];
770
+ var _ref19 = (0, _slicedToArray2.default)(_ref18, 2),
771
+ timestamp = _ref19[0],
772
+ entryPainted = _ref19[1];
747
773
  var currentlyPainted = entryPainted + (((_acc$abs = acc.abs[i - 1]) === null || _acc$abs === void 0 ? void 0 : _acc$abs[1]) || 0);
748
774
  var currentlyPaintedRatio = Math.round(currentlyPainted / totalPainted * 1000) / 10;
749
775
  var logEntry = (0, _toConsumableArray2.default)(new Set((_componentsLog$timest = componentsLog[timestamp]) === null || _componentsLog$timest === void 0 ? void 0 : _componentsLog$timest.filter(function (v) {
@@ -24,12 +24,14 @@ var DEFAULT_SELECTOR_CONFIG = {
24
24
  };
25
25
  var VCObserverNew = exports.default = /*#__PURE__*/function () {
26
26
  function VCObserverNew(config) {
27
- var _config$selectorConfi,
27
+ var _config$isPostInterac,
28
+ _config$selectorConfi,
28
29
  _this = this;
29
30
  (0, _classCallCheck2.default)(this, VCObserverNew);
30
31
  (0, _defineProperty2.default)(this, "viewportObserver", null);
31
32
  (0, _defineProperty2.default)(this, "windowEventObserver", null);
32
33
  this.entriesTimeline = new _entriesTimeline.default();
34
+ this.isPostInteraction = (_config$isPostInterac = config.isPostInteraction) !== null && _config$isPostInterac !== void 0 ? _config$isPostInterac : false;
33
35
  this.selectorConfig = (_config$selectorConfi = config.selectorConfig) !== null && _config$selectorConfi !== void 0 ? _config$selectorConfi : DEFAULT_SELECTOR_CONFIG;
34
36
  this.viewportObserver = new _viewportObserver.default({
35
37
  onChange: function onChange(onChangeArg) {
@@ -47,13 +49,15 @@ var VCObserverNew = exports.default = /*#__PURE__*/function () {
47
49
  }
48
50
  _this.entriesTimeline.push({
49
51
  time: time,
50
- type: type,
51
52
  data: {
53
+ type: type,
52
54
  elementName: elementName,
53
55
  rect: rect,
54
56
  previousRect: previousRect,
55
57
  visible: visible,
56
- attributeName: mutationData === null || mutationData === void 0 ? void 0 : mutationData.attributeName
58
+ attributeName: mutationData === null || mutationData === void 0 ? void 0 : mutationData.attributeName,
59
+ oldValue: mutationData === null || mutationData === void 0 ? void 0 : mutationData.oldValue,
60
+ newValue: mutationData === null || mutationData === void 0 ? void 0 : mutationData.newValue
57
61
  }
58
62
  });
59
63
  }
@@ -64,8 +68,8 @@ var VCObserverNew = exports.default = /*#__PURE__*/function () {
64
68
  type = _ref.type;
65
69
  _this.entriesTimeline.push({
66
70
  time: time,
67
- type: 'window:event',
68
71
  data: {
72
+ type: 'window:event',
69
73
  eventType: type
70
74
  }
71
75
  });
@@ -92,11 +96,11 @@ var VCObserverNew = exports.default = /*#__PURE__*/function () {
92
96
  key: "getVCResult",
93
97
  value: function () {
94
98
  var _getVCResult = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(param) {
95
- var start, stop, results, calculator_fy25_03, orderedEntries, fy25_03;
99
+ var start, stop, interactionId, results, calculator_fy25_03, orderedEntries, fy25_03;
96
100
  return _regenerator.default.wrap(function _callee$(_context) {
97
101
  while (1) switch (_context.prev = _context.next) {
98
102
  case 0:
99
- start = param.start, stop = param.stop;
103
+ start = param.start, stop = param.stop, interactionId = param.interactionId;
100
104
  results = [];
101
105
  calculator_fy25_03 = new _fy25_.default();
102
106
  orderedEntries = this.entriesTimeline.getOrderedEntries({
@@ -107,7 +111,9 @@ var VCObserverNew = exports.default = /*#__PURE__*/function () {
107
111
  return calculator_fy25_03.calculate({
108
112
  orderedEntries: orderedEntries,
109
113
  startTime: start,
110
- stopTime: stop
114
+ stopTime: stop,
115
+ interactionId: interactionId,
116
+ isPostInteraction: this.isPostInteraction
111
117
  });
112
118
  case 6:
113
119
  fy25_03 = _context.sent;