@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.
- package/CHANGELOG.md +16 -0
- package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +2 -1
- package/dist/cjs/create-payload/utils/get-vc-metrics.js +2 -1
- package/dist/cjs/create-post-interaction-log-payload/index.js +6 -7
- package/dist/cjs/interaction-metrics/post-interaction-log.js +3 -11
- package/dist/cjs/vc/index.js +4 -2
- package/dist/cjs/vc/vc-observer/getVCRevisionDebugDetails.js +41 -0
- package/dist/cjs/vc/vc-observer/index.js +59 -33
- package/dist/cjs/vc/vc-observer-new/index.js +13 -7
- package/dist/cjs/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +211 -36
- package/dist/cjs/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +94 -4
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +108 -0
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +16 -57
- package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +15 -5
- package/dist/cjs/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
- package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +2 -1
- package/dist/es2019/create-payload/utils/get-vc-metrics.js +1 -0
- package/dist/es2019/create-post-interaction-log-payload/index.js +6 -7
- package/dist/es2019/interaction-metrics/post-interaction-log.js +4 -13
- package/dist/es2019/vc/index.js +4 -2
- package/dist/es2019/vc/vc-observer/getVCRevisionDebugDetails.js +32 -0
- package/dist/es2019/vc/vc-observer/index.js +30 -1
- package/dist/es2019/vc/vc-observer-new/index.js +12 -6
- package/dist/es2019/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +115 -17
- package/dist/es2019/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +44 -1
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +75 -0
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +2 -20
- package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +15 -5
- package/dist/es2019/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
- package/dist/esm/create-experimental-interaction-metrics-payload/index.js +2 -1
- package/dist/esm/create-payload/utils/get-vc-metrics.js +2 -1
- package/dist/esm/create-post-interaction-log-payload/index.js +6 -7
- package/dist/esm/interaction-metrics/post-interaction-log.js +3 -11
- package/dist/esm/vc/index.js +4 -2
- package/dist/esm/vc/vc-observer/getVCRevisionDebugDetails.js +35 -0
- package/dist/esm/vc/vc-observer/index.js +59 -33
- package/dist/esm/vc/vc-observer-new/index.js +13 -7
- package/dist/esm/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +211 -36
- package/dist/esm/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +94 -5
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +106 -0
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +2 -55
- package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +15 -5
- package/dist/esm/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
- package/dist/types/vc/types.d.ts +1 -0
- package/dist/types/vc/vc-observer/getVCRevisionDebugDetails.d.ts +30 -0
- package/dist/types/vc/vc-observer/index.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/index.d.ts +2 -0
- package/dist/types/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +4 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +5 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.d.ts +1 -0
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -4
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/types.d.ts +20 -2
- package/dist/types/vc/vc-observer-new/metric-calculator/types.d.ts +2 -0
- package/dist/types/vc/vc-observer-new/types.d.ts +5 -1
- package/dist/types/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -0
- package/dist/types/vc/vc-observer-new/viewport-observer/types.d.ts +2 -0
- package/dist/types-ts4.5/vc/types.d.ts +1 -0
- package/dist/types-ts4.5/vc/vc-observer/getVCRevisionDebugDetails.d.ts +30 -0
- package/dist/types-ts4.5/vc/vc-observer/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/index.d.ts +2 -0
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +4 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +5 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.d.ts +1 -0
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -4
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/types.d.ts +20 -2
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/types.d.ts +2 -0
- package/dist/types-ts4.5/vc/vc-observer-new/types.d.ts +5 -1
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -0
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/types.d.ts +2 -0
- package/package.json +4 -4
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -367
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -398
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -5
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -152
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -108
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -248
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -263
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -1
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -99
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -60
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -361
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -391
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -1
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -145
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -101
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.d.ts +0 -39
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +0 -10
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.d.ts +0 -43
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +0 -12
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +0 -25
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.d.ts +0 -39
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +0 -10
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.d.ts +0 -43
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +0 -12
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +0 -25
|
@@ -108,7 +108,9 @@ export default class ViewportObserver {
|
|
|
108
108
|
});
|
|
109
109
|
_defineProperty(this, "handleAttributeMutation", ({
|
|
110
110
|
target,
|
|
111
|
-
attributeName
|
|
111
|
+
attributeName,
|
|
112
|
+
oldValue,
|
|
113
|
+
newValue
|
|
112
114
|
}) => {
|
|
113
115
|
var _this$intersectionObs4;
|
|
114
116
|
(_this$intersectionObs4 = this.intersectionObserver) === null || _this$intersectionObs4 === void 0 ? void 0 : _this$intersectionObs4.watchAndTag(target, ({
|
|
@@ -119,7 +121,9 @@ export default class ViewportObserver {
|
|
|
119
121
|
return {
|
|
120
122
|
type: 'mutation:media',
|
|
121
123
|
mutationData: {
|
|
122
|
-
attributeName
|
|
124
|
+
attributeName,
|
|
125
|
+
oldValue,
|
|
126
|
+
newValue
|
|
123
127
|
}
|
|
124
128
|
};
|
|
125
129
|
}
|
|
@@ -131,7 +135,9 @@ export default class ViewportObserver {
|
|
|
131
135
|
return {
|
|
132
136
|
type: 'mutation:attribute:non-visual-style',
|
|
133
137
|
mutationData: {
|
|
134
|
-
attributeName
|
|
138
|
+
attributeName,
|
|
139
|
+
oldValue,
|
|
140
|
+
newValue
|
|
135
141
|
}
|
|
136
142
|
};
|
|
137
143
|
}
|
|
@@ -140,14 +146,18 @@ export default class ViewportObserver {
|
|
|
140
146
|
return {
|
|
141
147
|
type: 'mutation:attribute:no-layout-shift',
|
|
142
148
|
mutationData: {
|
|
143
|
-
attributeName
|
|
149
|
+
attributeName,
|
|
150
|
+
oldValue,
|
|
151
|
+
newValue
|
|
144
152
|
}
|
|
145
153
|
};
|
|
146
154
|
}
|
|
147
155
|
return {
|
|
148
156
|
type: 'mutation:attribute',
|
|
149
157
|
mutationData: {
|
|
150
|
-
attributeName
|
|
158
|
+
attributeName,
|
|
159
|
+
oldValue,
|
|
160
|
+
newValue
|
|
151
161
|
}
|
|
152
162
|
};
|
|
153
163
|
});
|
|
@@ -30,7 +30,9 @@ function createMutationObserver({
|
|
|
30
30
|
var _mut$attributeName;
|
|
31
31
|
onAttributeMutation({
|
|
32
32
|
target: mut.target,
|
|
33
|
-
attributeName: (_mut$attributeName = mut.attributeName) !== null && _mut$attributeName !== void 0 ? _mut$attributeName : 'unknown'
|
|
33
|
+
attributeName: (_mut$attributeName = mut.attributeName) !== null && _mut$attributeName !== void 0 ? _mut$attributeName : 'unknown',
|
|
34
|
+
oldValue,
|
|
35
|
+
newValue
|
|
34
36
|
});
|
|
35
37
|
}
|
|
36
38
|
continue;
|
|
@@ -101,7 +101,8 @@ function _getExperimentalVCMetrics() {
|
|
|
101
101
|
isEventAborted: !!interaction.abortReason,
|
|
102
102
|
prefix: prefix,
|
|
103
103
|
vc: interaction.vc,
|
|
104
|
-
experienceKey: interaction.ufoName
|
|
104
|
+
experienceKey: interaction.ufoName,
|
|
105
|
+
interactionId: interaction.id
|
|
105
106
|
});
|
|
106
107
|
case 4:
|
|
107
108
|
result = _context.sent;
|
|
@@ -58,7 +58,8 @@ function _getVCMetrics() {
|
|
|
58
58
|
prefix: prefix,
|
|
59
59
|
vc: interaction.vc,
|
|
60
60
|
isEventAborted: interactionStatus.originalInteractionStatus !== 'SUCCEEDED',
|
|
61
|
-
experienceKey: interaction.ufoName
|
|
61
|
+
experienceKey: interaction.ufoName,
|
|
62
|
+
interactionId: interaction.id
|
|
62
63
|
}, ssr));
|
|
63
64
|
case 18:
|
|
64
65
|
result = _context.sent;
|
|
@@ -129,13 +129,12 @@ function createPostInteractionLogPayload(_ref2) {
|
|
|
129
129
|
|
|
130
130
|
// Align post-interaction-logs closer to UFO event behaviour,
|
|
131
131
|
// e.g. also check for aborted or failed events
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
132
|
+
|
|
133
|
+
if (lastInteractionFinish.abortReason) {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
if (lastInteractionFinish.errors.length > 0) {
|
|
137
|
+
return null;
|
|
139
138
|
}
|
|
140
139
|
var maxEndTimeFromProfiler = reactProfilerTimings ? Math.max.apply(Math, _toConsumableArray(reactProfilerTimings.map(function (t) {
|
|
141
140
|
return t.commitTime;
|
|
@@ -5,10 +5,8 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
5
5
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
6
6
|
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; }
|
|
7
7
|
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) { _defineProperty(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; }
|
|
8
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
9
8
|
import { getConfig } from '../config';
|
|
10
9
|
import { VCObserverWrapper } from '../vc';
|
|
11
|
-
import { VCObserver } from '../vc/vc-observer';
|
|
12
10
|
var POST_INTERACTION_LOG_SEND_DEFAULT_TIMEOUT = 3000;
|
|
13
11
|
var PostInteractionLog = /*#__PURE__*/function () {
|
|
14
12
|
function PostInteractionLog() {
|
|
@@ -38,15 +36,9 @@ var PostInteractionLog = /*#__PURE__*/function () {
|
|
|
38
36
|
return _createClass(PostInteractionLog, [{
|
|
39
37
|
key: "initializeVCObserver",
|
|
40
38
|
value: function initializeVCObserver(options) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}));
|
|
45
|
-
} else if (this.vcObserver === null) {
|
|
46
|
-
this.vcObserver = new VCObserver(_objectSpread(_objectSpread({}, options), {}, {
|
|
47
|
-
isPostInteraction: true
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
39
|
+
this.vcObserver = new VCObserverWrapper(_objectSpread(_objectSpread({}, options), {}, {
|
|
40
|
+
isPostInteraction: true
|
|
41
|
+
}));
|
|
50
42
|
}
|
|
51
43
|
}, {
|
|
52
44
|
key: "startVCObserver",
|
package/dist/esm/vc/index.js
CHANGED
|
@@ -122,7 +122,8 @@ export var VCObserverWrapper = /*#__PURE__*/function () {
|
|
|
122
122
|
_context.next = 13;
|
|
123
123
|
return (_this$newVCObserver5 = this.newVCObserver) === null || _this$newVCObserver5 === void 0 ? void 0 : _this$newVCObserver5.getVCResult({
|
|
124
124
|
start: param.start,
|
|
125
|
-
stop: param.stop
|
|
125
|
+
stop: param.stop,
|
|
126
|
+
interactionId: param.interactionId
|
|
126
127
|
});
|
|
127
128
|
case 13:
|
|
128
129
|
_context.t1 = _context.sent;
|
|
@@ -149,7 +150,8 @@ export var VCObserverWrapper = /*#__PURE__*/function () {
|
|
|
149
150
|
_context.next = 28;
|
|
150
151
|
return (_this$newVCObserver6 = this.newVCObserver) === null || _this$newVCObserver6 === void 0 ? void 0 : _this$newVCObserver6.getVCResult({
|
|
151
152
|
start: param.start,
|
|
152
|
-
stop: param.stop
|
|
153
|
+
stop: param.stop,
|
|
154
|
+
interactionId: param.interactionId
|
|
153
155
|
});
|
|
154
156
|
case 28:
|
|
155
157
|
newResult = _context.sent;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function getVCRevisionDebugDetails(_ref) {
|
|
2
|
+
var revision = _ref.revision,
|
|
3
|
+
isClean = _ref.isClean,
|
|
4
|
+
abortReason = _ref.abortReason,
|
|
5
|
+
VCEntries = _ref.VCEntries,
|
|
6
|
+
componentsLog = _ref.componentsLog,
|
|
7
|
+
interactionId = _ref.interactionId;
|
|
8
|
+
return {
|
|
9
|
+
revision: revision,
|
|
10
|
+
isClean: isClean,
|
|
11
|
+
abortReason: abortReason,
|
|
12
|
+
vcLogs: VCEntries.map(function (entry) {
|
|
13
|
+
return {
|
|
14
|
+
time: entry.time,
|
|
15
|
+
viewportPercentage: entry.vc,
|
|
16
|
+
entries: entry.elements.map(function (element) {
|
|
17
|
+
var _componentsLog$entry$;
|
|
18
|
+
var logEntry = (_componentsLog$entry$ = componentsLog[entry.time]) === null || _componentsLog$entry$ === void 0 ? void 0 : _componentsLog$entry$.find(function (log) {
|
|
19
|
+
return log.targetName === element;
|
|
20
|
+
});
|
|
21
|
+
return {
|
|
22
|
+
elementName: element,
|
|
23
|
+
type: logEntry === null || logEntry === void 0 ? void 0 : logEntry.type,
|
|
24
|
+
rect: logEntry === null || logEntry === void 0 ? void 0 : logEntry.intersectionRect,
|
|
25
|
+
visible: true,
|
|
26
|
+
attributeName: logEntry === null || logEntry === void 0 ? void 0 : logEntry.attributeName,
|
|
27
|
+
oldValue: logEntry === null || logEntry === void 0 ? void 0 : logEntry.oldValue,
|
|
28
|
+
newValue: logEntry === null || logEntry === void 0 ? void 0 : logEntry.newValue
|
|
29
|
+
};
|
|
30
|
+
})
|
|
31
|
+
};
|
|
32
|
+
}),
|
|
33
|
+
interactionId: interactionId
|
|
34
|
+
};
|
|
35
|
+
}
|
|
@@ -13,6 +13,7 @@ import { fg } from '@atlaskit/platform-feature-flags';
|
|
|
13
13
|
import { isVCRevisionEnabled } from '../../config';
|
|
14
14
|
import { getActiveInteraction } from '../../interaction-metrics';
|
|
15
15
|
import { attachAbortListeners } from './attachAbortListeners';
|
|
16
|
+
import { getVCRevisionDebugDetails } from './getVCRevisionDebugDetails';
|
|
16
17
|
import { getVCRevisionsData } from './getVCRevisionsData';
|
|
17
18
|
import { getViewportHeight, getViewportWidth } from './getViewport';
|
|
18
19
|
import { MultiRevisionHeatmap } from './heatmap/heatmap';
|
|
@@ -99,11 +100,11 @@ export var VCObserver = /*#__PURE__*/function () {
|
|
|
99
100
|
});
|
|
100
101
|
_defineProperty(this, "getVCResult", /*#__PURE__*/function () {
|
|
101
102
|
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
|
|
102
|
-
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;
|
|
103
|
+
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;
|
|
103
104
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
104
105
|
while (1) switch (_context.prev = _context.next) {
|
|
105
106
|
case 0:
|
|
106
|
-
start = _ref3.start, stop = _ref3.stop, tti = _ref3.tti, prefix = _ref3.prefix, ssr = _ref3.ssr, vc = _ref3.vc, isEventAborted = _ref3.isEventAborted, experienceKey = _ref3.experienceKey;
|
|
107
|
+
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;
|
|
107
108
|
startTime = performance.now(); // add local measurement
|
|
108
109
|
fullPrefix = prefix !== undefined && prefix !== '' ? "".concat(prefix, ":") : '';
|
|
109
110
|
rawData = vc !== undefined ? vc : _this.getVCRawData();
|
|
@@ -280,6 +281,31 @@ export var VCObserver = /*#__PURE__*/function () {
|
|
|
280
281
|
entries: isTTVCv1Disabled ? vcNext.VCEntries.rel : VCEntries.rel
|
|
281
282
|
}
|
|
282
283
|
}));
|
|
284
|
+
|
|
285
|
+
// Add devtool callback for both v1 and v2
|
|
286
|
+
if (typeof window.__ufo_devtool_onVCRevisionReady__ === 'function' && fg('platform_ufo_ttvc_v3_devtool')) {
|
|
287
|
+
// Handle v1 if not disabled
|
|
288
|
+
if (!isTTVCv1Disabled) {
|
|
289
|
+
(_ufo_devtool_onVCRev = (_ref9 = window).__ufo_devtool_onVCRevisionReady__) === null || _ufo_devtool_onVCRev === void 0 || _ufo_devtool_onVCRev.call(_ref9, getVCRevisionDebugDetails({
|
|
290
|
+
revision: 'fy25.01',
|
|
291
|
+
isClean: !abortReasonInfo,
|
|
292
|
+
abortReason: abortReason.reason,
|
|
293
|
+
VCEntries: VCEntries.rel,
|
|
294
|
+
componentsLog: componentsLog,
|
|
295
|
+
interactionId: interactionId
|
|
296
|
+
}));
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// Handle v2
|
|
300
|
+
(_ufo_devtool_onVCRev2 = (_ref10 = window).__ufo_devtool_onVCRevisionReady__) === null || _ufo_devtool_onVCRev2 === void 0 || _ufo_devtool_onVCRev2.call(_ref10, getVCRevisionDebugDetails({
|
|
301
|
+
revision: 'fy25.02',
|
|
302
|
+
isClean: !abortReasonInfo,
|
|
303
|
+
abortReason: abortReason.reason,
|
|
304
|
+
VCEntries: vcNext.VCEntries.rel,
|
|
305
|
+
componentsLog: componentsLog,
|
|
306
|
+
interactionId: interactionId
|
|
307
|
+
}));
|
|
308
|
+
}
|
|
283
309
|
}
|
|
284
310
|
} catch (e) {
|
|
285
311
|
/* do nothing */
|
|
@@ -380,16 +406,16 @@ export var VCObserver = /*#__PURE__*/function () {
|
|
|
380
406
|
});
|
|
381
407
|
}
|
|
382
408
|
});
|
|
383
|
-
_defineProperty(this, "onViewportChangeDetected", function (
|
|
384
|
-
var element =
|
|
385
|
-
type =
|
|
386
|
-
ignoreReason =
|
|
387
|
-
timestamp =
|
|
388
|
-
targetName =
|
|
389
|
-
intersectionRect =
|
|
390
|
-
attributeName =
|
|
391
|
-
oldValue =
|
|
392
|
-
newValue =
|
|
409
|
+
_defineProperty(this, "onViewportChangeDetected", function (_ref11) {
|
|
410
|
+
var element = _ref11.element,
|
|
411
|
+
type = _ref11.type,
|
|
412
|
+
ignoreReason = _ref11.ignoreReason,
|
|
413
|
+
timestamp = _ref11.timestamp,
|
|
414
|
+
targetName = _ref11.targetName,
|
|
415
|
+
intersectionRect = _ref11.intersectionRect,
|
|
416
|
+
attributeName = _ref11.attributeName,
|
|
417
|
+
oldValue = _ref11.oldValue,
|
|
418
|
+
newValue = _ref11.newValue;
|
|
393
419
|
if (_this.multiHeatmap === null) {
|
|
394
420
|
return;
|
|
395
421
|
}
|
|
@@ -474,10 +500,10 @@ export var VCObserver = /*#__PURE__*/function () {
|
|
|
474
500
|
var unbinds = attachAbortListeners(window, _this.viewport, _this.abortReasonCallback);
|
|
475
501
|
if ((_window = window) !== null && _window !== void 0 && _window.__SSR_ABORT_LISTENERS__) {
|
|
476
502
|
var _window2;
|
|
477
|
-
Object.entries(window.__SSR_ABORT_LISTENERS__.aborts).forEach(function (
|
|
478
|
-
var
|
|
479
|
-
key =
|
|
480
|
-
time =
|
|
503
|
+
Object.entries(window.__SSR_ABORT_LISTENERS__.aborts).forEach(function (_ref12) {
|
|
504
|
+
var _ref13 = _slicedToArray(_ref12, 2),
|
|
505
|
+
key = _ref13[0],
|
|
506
|
+
time = _ref13[1];
|
|
481
507
|
if (time) {
|
|
482
508
|
_this.abortReasonCallback(key, time);
|
|
483
509
|
}
|
|
@@ -510,8 +536,8 @@ export var VCObserver = /*#__PURE__*/function () {
|
|
|
510
536
|
}
|
|
511
537
|
return _createClass(VCObserver, [{
|
|
512
538
|
key: "start",
|
|
513
|
-
value: function start(
|
|
514
|
-
var startTime =
|
|
539
|
+
value: function start(_ref14) {
|
|
540
|
+
var startTime = _ref14.startTime;
|
|
515
541
|
this.active = true;
|
|
516
542
|
if (this.observers.isBrowserSupported()) {
|
|
517
543
|
this.setViewportSize();
|
|
@@ -533,12 +559,12 @@ export var VCObserver = /*#__PURE__*/function () {
|
|
|
533
559
|
}, {
|
|
534
560
|
key: "getIgnoredElements",
|
|
535
561
|
value: function getIgnoredElements(componentsLog) {
|
|
536
|
-
return Object.values(componentsLog).flat().filter(function (
|
|
537
|
-
var ignoreReason =
|
|
562
|
+
return Object.values(componentsLog).flat().filter(function (_ref15) {
|
|
563
|
+
var ignoreReason = _ref15.ignoreReason;
|
|
538
564
|
return Boolean(ignoreReason);
|
|
539
|
-
}).map(function (
|
|
540
|
-
var targetName =
|
|
541
|
-
ignoreReason =
|
|
565
|
+
}).map(function (_ref16) {
|
|
566
|
+
var targetName = _ref16.targetName,
|
|
567
|
+
ignoreReason = _ref16.ignoreReason;
|
|
542
568
|
return {
|
|
543
569
|
targetName: targetName,
|
|
544
570
|
ignoreReason: ignoreReason
|
|
@@ -661,12 +687,12 @@ export var VCObserver = /*#__PURE__*/function () {
|
|
|
661
687
|
}
|
|
662
688
|
}], [{
|
|
663
689
|
key: "calculateVC",
|
|
664
|
-
value: function calculateVC(
|
|
665
|
-
var heatmap =
|
|
666
|
-
|
|
667
|
-
ssr =
|
|
668
|
-
componentsLog =
|
|
669
|
-
viewport =
|
|
690
|
+
value: function calculateVC(_ref17) {
|
|
691
|
+
var heatmap = _ref17.heatmap,
|
|
692
|
+
_ref17$ssr = _ref17.ssr,
|
|
693
|
+
ssr = _ref17$ssr === void 0 ? UNUSED_SECTOR : _ref17$ssr,
|
|
694
|
+
componentsLog = _ref17.componentsLog,
|
|
695
|
+
viewport = _ref17.viewport;
|
|
670
696
|
var lastUpdate = {};
|
|
671
697
|
var totalPainted = 0;
|
|
672
698
|
if (ssr !== UNUSED_SECTOR) {
|
|
@@ -732,11 +758,11 @@ export var VCObserver = /*#__PURE__*/function () {
|
|
|
732
758
|
});
|
|
733
759
|
return VCRatio;
|
|
734
760
|
}, 0);
|
|
735
|
-
var VCEntries = entries.reduce(function (acc,
|
|
761
|
+
var VCEntries = entries.reduce(function (acc, _ref18, i) {
|
|
736
762
|
var _acc$abs, _componentsLog$timest, _acc$rel$vc, _acc$rel;
|
|
737
|
-
var
|
|
738
|
-
timestamp =
|
|
739
|
-
entryPainted =
|
|
763
|
+
var _ref19 = _slicedToArray(_ref18, 2),
|
|
764
|
+
timestamp = _ref19[0],
|
|
765
|
+
entryPainted = _ref19[1];
|
|
740
766
|
var currentlyPainted = entryPainted + (((_acc$abs = acc.abs[i - 1]) === null || _acc$abs === void 0 ? void 0 : _acc$abs[1]) || 0);
|
|
741
767
|
var currentlyPaintedRatio = Math.round(currentlyPainted / totalPainted * 1000) / 10;
|
|
742
768
|
var logEntry = _toConsumableArray(new Set((_componentsLog$timest = componentsLog[timestamp]) === null || _componentsLog$timest === void 0 ? void 0 : _componentsLog$timest.filter(function (v) {
|
|
@@ -17,12 +17,14 @@ var DEFAULT_SELECTOR_CONFIG = {
|
|
|
17
17
|
};
|
|
18
18
|
var VCObserverNew = /*#__PURE__*/function () {
|
|
19
19
|
function VCObserverNew(config) {
|
|
20
|
-
var _config$
|
|
20
|
+
var _config$isPostInterac,
|
|
21
|
+
_config$selectorConfi,
|
|
21
22
|
_this = this;
|
|
22
23
|
_classCallCheck(this, VCObserverNew);
|
|
23
24
|
_defineProperty(this, "viewportObserver", null);
|
|
24
25
|
_defineProperty(this, "windowEventObserver", null);
|
|
25
26
|
this.entriesTimeline = new EntriesTimeline();
|
|
27
|
+
this.isPostInteraction = (_config$isPostInterac = config.isPostInteraction) !== null && _config$isPostInterac !== void 0 ? _config$isPostInterac : false;
|
|
26
28
|
this.selectorConfig = (_config$selectorConfi = config.selectorConfig) !== null && _config$selectorConfi !== void 0 ? _config$selectorConfi : DEFAULT_SELECTOR_CONFIG;
|
|
27
29
|
this.viewportObserver = new ViewportObserver({
|
|
28
30
|
onChange: function onChange(onChangeArg) {
|
|
@@ -40,13 +42,15 @@ var VCObserverNew = /*#__PURE__*/function () {
|
|
|
40
42
|
}
|
|
41
43
|
_this.entriesTimeline.push({
|
|
42
44
|
time: time,
|
|
43
|
-
type: type,
|
|
44
45
|
data: {
|
|
46
|
+
type: type,
|
|
45
47
|
elementName: elementName,
|
|
46
48
|
rect: rect,
|
|
47
49
|
previousRect: previousRect,
|
|
48
50
|
visible: visible,
|
|
49
|
-
attributeName: mutationData === null || mutationData === void 0 ? void 0 : mutationData.attributeName
|
|
51
|
+
attributeName: mutationData === null || mutationData === void 0 ? void 0 : mutationData.attributeName,
|
|
52
|
+
oldValue: mutationData === null || mutationData === void 0 ? void 0 : mutationData.oldValue,
|
|
53
|
+
newValue: mutationData === null || mutationData === void 0 ? void 0 : mutationData.newValue
|
|
50
54
|
}
|
|
51
55
|
});
|
|
52
56
|
}
|
|
@@ -57,8 +61,8 @@ var VCObserverNew = /*#__PURE__*/function () {
|
|
|
57
61
|
type = _ref.type;
|
|
58
62
|
_this.entriesTimeline.push({
|
|
59
63
|
time: time,
|
|
60
|
-
type: 'window:event',
|
|
61
64
|
data: {
|
|
65
|
+
type: 'window:event',
|
|
62
66
|
eventType: type
|
|
63
67
|
}
|
|
64
68
|
});
|
|
@@ -85,11 +89,11 @@ var VCObserverNew = /*#__PURE__*/function () {
|
|
|
85
89
|
key: "getVCResult",
|
|
86
90
|
value: function () {
|
|
87
91
|
var _getVCResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(param) {
|
|
88
|
-
var start, stop, results, calculator_fy25_03, orderedEntries, fy25_03;
|
|
92
|
+
var start, stop, interactionId, results, calculator_fy25_03, orderedEntries, fy25_03;
|
|
89
93
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
90
94
|
while (1) switch (_context.prev = _context.next) {
|
|
91
95
|
case 0:
|
|
92
|
-
start = param.start, stop = param.stop;
|
|
96
|
+
start = param.start, stop = param.stop, interactionId = param.interactionId;
|
|
93
97
|
results = [];
|
|
94
98
|
calculator_fy25_03 = new VCCalculator_FY25_03();
|
|
95
99
|
orderedEntries = this.entriesTimeline.getOrderedEntries({
|
|
@@ -100,7 +104,9 @@ var VCObserverNew = /*#__PURE__*/function () {
|
|
|
100
104
|
return calculator_fy25_03.calculate({
|
|
101
105
|
orderedEntries: orderedEntries,
|
|
102
106
|
startTime: start,
|
|
103
|
-
stopTime: stop
|
|
107
|
+
stopTime: stop,
|
|
108
|
+
interactionId: interactionId,
|
|
109
|
+
isPostInteraction: this.isPostInteraction
|
|
104
110
|
});
|
|
105
111
|
case 6:
|
|
106
112
|
fy25_03 = _context.sent;
|