@atlaskit/react-ufo 2.14.2 → 2.15.0
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 +20 -0
- package/dist/cjs/create-payload/index.js +11 -0
- package/dist/cjs/experience-trace-id-context/index.js +5 -1
- package/dist/cjs/segment/segment.js +7 -1
- package/dist/cjs/vc/vc-observer/heatmap/heatmap.js +275 -0
- package/dist/cjs/vc/vc-observer/index.js +133 -29
- package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +16 -27
- package/dist/cjs/vc/vc-observer/revisions/ViewportUpdateClassifier.js +52 -0
- package/dist/cjs/vc/vc-observer/revisions/fy24_01.js +39 -0
- package/dist/cjs/vc/vc-observer/revisions/fy25_01.js +39 -0
- package/dist/cjs/vc/vc-observer/revisions/revisions.js +23 -0
- package/dist/cjs/vc/vc-observer/revisions/types.js +5 -0
- package/dist/es2019/create-payload/index.js +11 -0
- package/dist/es2019/experience-trace-id-context/index.js +4 -0
- package/dist/es2019/segment/segment.js +11 -3
- package/dist/es2019/vc/vc-observer/heatmap/heatmap.js +238 -0
- package/dist/es2019/vc/vc-observer/index.js +115 -7
- package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +16 -27
- package/dist/es2019/vc/vc-observer/revisions/ViewportUpdateClassifier.js +35 -0
- package/dist/es2019/vc/vc-observer/revisions/fy24_01.js +21 -0
- package/dist/es2019/vc/vc-observer/revisions/fy25_01.js +21 -0
- package/dist/es2019/vc/vc-observer/revisions/revisions.js +19 -0
- package/dist/es2019/vc/vc-observer/revisions/types.js +1 -0
- package/dist/esm/create-payload/index.js +11 -0
- package/dist/esm/experience-trace-id-context/index.js +4 -0
- package/dist/esm/segment/segment.js +7 -1
- package/dist/esm/vc/vc-observer/heatmap/heatmap.js +268 -0
- package/dist/esm/vc/vc-observer/index.js +133 -29
- package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +16 -27
- package/dist/esm/vc/vc-observer/revisions/ViewportUpdateClassifier.js +45 -0
- package/dist/esm/vc/vc-observer/revisions/fy24_01.js +32 -0
- package/dist/esm/vc/vc-observer/revisions/fy25_01.js +32 -0
- package/dist/esm/vc/vc-observer/revisions/revisions.js +17 -0
- package/dist/esm/vc/vc-observer/revisions/types.js +1 -0
- package/dist/types/common/vc/types.d.ts +28 -9
- package/dist/types/create-payload/index.d.ts +16 -0
- package/dist/types/experience-trace-id-context/index.d.ts +1 -0
- package/dist/types/interaction-ignore/ufo-interaction-ignore.d.ts +2 -2
- package/dist/types/label/UFOLabel.d.ts +2 -2
- package/dist/types/load-hold/UFOLoadHold.d.ts +2 -2
- package/dist/types/placeholder/Placeholder.d.ts +2 -2
- package/dist/types/placeholder/loosely-lazy/lazy-suspense.d.ts +2 -2
- package/dist/types/segment/segment-highlight.d.ts +2 -2
- package/dist/types/segment/segment.d.ts +2 -2
- package/dist/types/vc/vc-observer/heatmap/heatmap.d.ts +75 -0
- package/dist/types/vc/vc-observer/index.d.ts +6 -1
- package/dist/types/vc/vc-observer/media-wrapper/MediaWrapper.d.ts +1 -1
- package/dist/types/vc/vc-observer/revisions/ViewportUpdateClassifier.d.ts +25 -0
- package/dist/types/vc/vc-observer/revisions/fy24_01.d.ts +11 -0
- package/dist/types/vc/vc-observer/revisions/fy25_01.d.ts +13 -0
- package/dist/types/vc/vc-observer/revisions/revisions.d.ts +2 -0
- package/dist/types/vc/vc-observer/revisions/types.d.ts +5 -0
- package/dist/types-ts4.5/common/vc/types.d.ts +28 -9
- package/dist/types-ts4.5/create-payload/index.d.ts +16 -0
- package/dist/types-ts4.5/experience-trace-id-context/index.d.ts +1 -0
- package/dist/types-ts4.5/interaction-ignore/ufo-interaction-ignore.d.ts +2 -2
- package/dist/types-ts4.5/label/UFOLabel.d.ts +2 -2
- package/dist/types-ts4.5/load-hold/UFOLoadHold.d.ts +2 -2
- package/dist/types-ts4.5/placeholder/Placeholder.d.ts +2 -2
- package/dist/types-ts4.5/placeholder/loosely-lazy/lazy-suspense.d.ts +2 -2
- package/dist/types-ts4.5/segment/segment-highlight.d.ts +2 -2
- package/dist/types-ts4.5/segment/segment.d.ts +2 -2
- package/dist/types-ts4.5/vc/vc-observer/heatmap/heatmap.d.ts +75 -0
- package/dist/types-ts4.5/vc/vc-observer/index.d.ts +16 -1
- package/dist/types-ts4.5/vc/vc-observer/media-wrapper/MediaWrapper.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer/revisions/ViewportUpdateClassifier.d.ts +25 -0
- package/dist/types-ts4.5/vc/vc-observer/revisions/fy24_01.d.ts +11 -0
- package/dist/types-ts4.5/vc/vc-observer/revisions/fy25_01.d.ts +13 -0
- package/dist/types-ts4.5/vc/vc-observer/revisions/revisions.d.ts +2 -0
- package/dist/types-ts4.5/vc/vc-observer/revisions/types.d.ts +5 -0
- package/package.json +17 -6
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
4
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
5
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
8
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
9
|
+
import { ViewportUpdateClassifier } from './ViewportUpdateClassifier';
|
|
10
|
+
var legacyIgnoreReasons = ['image', 'ssr-hydration', 'editor-lazy-node-view', 'editor-container-mutation'];
|
|
11
|
+
export var FY24_01Classifier = /*#__PURE__*/function (_ViewportUpdateClassi) {
|
|
12
|
+
function FY24_01Classifier() {
|
|
13
|
+
var _this;
|
|
14
|
+
_classCallCheck(this, FY24_01Classifier);
|
|
15
|
+
_this = _callSuper(this, FY24_01Classifier);
|
|
16
|
+
_defineProperty(_this, "revision", 'fy24.01');
|
|
17
|
+
_defineProperty(_this, "types", ['html', 'text']);
|
|
18
|
+
_defineProperty(_this, "filters", [{
|
|
19
|
+
name: 'default-ignore-reasons',
|
|
20
|
+
filter: function filter(_ref) {
|
|
21
|
+
var type = _ref.type,
|
|
22
|
+
ignoreReason = _ref.ignoreReason;
|
|
23
|
+
return !ignoreReason || !legacyIgnoreReasons.includes(ignoreReason);
|
|
24
|
+
}
|
|
25
|
+
}]);
|
|
26
|
+
_this.mergeConfig();
|
|
27
|
+
return _this;
|
|
28
|
+
}
|
|
29
|
+
_inherits(FY24_01Classifier, _ViewportUpdateClassi);
|
|
30
|
+
return _createClass(FY24_01Classifier);
|
|
31
|
+
}(ViewportUpdateClassifier);
|
|
32
|
+
export var revFY24_01Classifier = new FY24_01Classifier();
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
4
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
5
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
8
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
9
|
+
import { FY24_01Classifier } from './fy24_01';
|
|
10
|
+
export var FY25_01Classifier = /*#__PURE__*/function (_FY24_01Classifier) {
|
|
11
|
+
function FY25_01Classifier() {
|
|
12
|
+
var _this;
|
|
13
|
+
_classCallCheck(this, FY25_01Classifier);
|
|
14
|
+
_this = _callSuper(this, FY25_01Classifier);
|
|
15
|
+
_defineProperty(_this, "revision", 'fy25.01');
|
|
16
|
+
_defineProperty(_this, "types", ['attr']);
|
|
17
|
+
_defineProperty(_this, "filters", [{
|
|
18
|
+
name: 'not-visible',
|
|
19
|
+
filter: function filter(_ref) {
|
|
20
|
+
var type = _ref.type,
|
|
21
|
+
ignoreReason = _ref.ignoreReason;
|
|
22
|
+
return !(ignoreReason !== null && ignoreReason !== void 0 && ignoreReason.includes('not-visible'));
|
|
23
|
+
}
|
|
24
|
+
}]);
|
|
25
|
+
_defineProperty(_this, "removedFilters", []);
|
|
26
|
+
_this.mergeConfig();
|
|
27
|
+
return _this;
|
|
28
|
+
}
|
|
29
|
+
_inherits(FY25_01Classifier, _FY24_01Classifier);
|
|
30
|
+
return _createClass(FY25_01Classifier);
|
|
31
|
+
}(FY24_01Classifier);
|
|
32
|
+
export var revFY25_01Classifier = new FY25_01Classifier();
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { revFY24_01Classifier } from './fy24_01';
|
|
2
|
+
import { revFY25_01Classifier } from './fy25_01';
|
|
3
|
+
var Revisions = [{
|
|
4
|
+
name: 'fy24.01',
|
|
5
|
+
classifier: revFY24_01Classifier
|
|
6
|
+
}, {
|
|
7
|
+
name: 'fy25.01',
|
|
8
|
+
classifier: revFY25_01Classifier
|
|
9
|
+
}];
|
|
10
|
+
var revisionResultCache = null;
|
|
11
|
+
export var getRevisions = function getRevisions() {
|
|
12
|
+
if (revisionResultCache !== null) {
|
|
13
|
+
return revisionResultCache;
|
|
14
|
+
}
|
|
15
|
+
revisionResultCache = [].concat(Revisions);
|
|
16
|
+
return revisionResultCache;
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { UnbindFn } from 'bind-event-listener';
|
|
2
|
+
import { MultiRevisionHeatmap } from '../../vc/vc-observer/heatmap/heatmap';
|
|
2
3
|
export declare const AbortEvent: {
|
|
3
4
|
readonly wheel: "wheel";
|
|
4
5
|
readonly keydown: "keydown";
|
|
@@ -29,6 +30,7 @@ export type VCRawDataType = {
|
|
|
29
30
|
oldDomUpdatesEnabled: boolean;
|
|
30
31
|
devToolsEnabled: boolean;
|
|
31
32
|
ratios: VCRatioType;
|
|
33
|
+
multiHeatmap: MultiRevisionHeatmap | null;
|
|
32
34
|
};
|
|
33
35
|
export type VCEntryType = {
|
|
34
36
|
time: number;
|
|
@@ -44,12 +46,12 @@ export type ComponentsLogEntry = {
|
|
|
44
46
|
};
|
|
45
47
|
export type VCIgnoredElement = Pick<ComponentsLogEntry, 'targetName' | 'ignoreReason'>;
|
|
46
48
|
export type VCResult = {
|
|
47
|
-
[key: string]: boolean | number | string | null | VCEntryType[] | VCIgnoredElement[] | {
|
|
49
|
+
[key: string]: boolean | number | string | null | undefined | VCEntryType[] | VCIgnoredElement[] | {
|
|
48
50
|
w: number;
|
|
49
51
|
h: number;
|
|
50
52
|
} | {
|
|
51
53
|
[key: string]: boolean | number | string[] | null | VCEntryType[];
|
|
52
|
-
};
|
|
54
|
+
} | MultiHeatmapPayload;
|
|
53
55
|
};
|
|
54
56
|
export type MetricsDevToolsTypes = {
|
|
55
57
|
'75': number | null;
|
|
@@ -68,15 +70,19 @@ export type ExperimentalVCDevToolsOptions = {
|
|
|
68
70
|
export type ComponentsLogType = {
|
|
69
71
|
[timestamp: number]: ComponentsLogEntry[];
|
|
70
72
|
};
|
|
73
|
+
interface VCDebugInfo {
|
|
74
|
+
entries: VCEntryType[];
|
|
75
|
+
log: ComponentsLogType;
|
|
76
|
+
metrics: MetricsDevToolsTypes;
|
|
77
|
+
heatmap: number[][];
|
|
78
|
+
ratios: VCRatioType;
|
|
79
|
+
start: number;
|
|
80
|
+
stop: number;
|
|
81
|
+
}
|
|
71
82
|
declare global {
|
|
72
83
|
interface Window {
|
|
73
|
-
__vc?:
|
|
74
|
-
|
|
75
|
-
log: ComponentsLogType;
|
|
76
|
-
metrics: MetricsDevToolsTypes;
|
|
77
|
-
heatmap: number[][];
|
|
78
|
-
ratios: VCRatioType;
|
|
79
|
-
};
|
|
84
|
+
__vc?: VCDebugInfo;
|
|
85
|
+
__vcNext?: VCDebugInfo;
|
|
80
86
|
__vcNotAvailableReason?: string;
|
|
81
87
|
__SSR_PLACEHOLDERS_DIMENSIONS__?: {
|
|
82
88
|
[key: string]: DOMRectReadOnly;
|
|
@@ -89,3 +95,16 @@ declare global {
|
|
|
89
95
|
};
|
|
90
96
|
}
|
|
91
97
|
}
|
|
98
|
+
type MultiHeatmapRevisionPayload = {
|
|
99
|
+
'metric:vc90': number | null;
|
|
100
|
+
revision: string;
|
|
101
|
+
clean: boolean;
|
|
102
|
+
vcDetails?: {
|
|
103
|
+
[key: string]: {
|
|
104
|
+
t: number;
|
|
105
|
+
e: string[];
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
export type MultiHeatmapPayload = MultiHeatmapRevisionPayload[];
|
|
110
|
+
export {};
|
|
@@ -694,6 +694,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
694
694
|
'ufo:styleProps'?: undefined;
|
|
695
695
|
'ufo:styleDeclarations'?: undefined;
|
|
696
696
|
'ufo:cssrules'?: undefined;
|
|
697
|
+
'metric:vc90'?: number | null | undefined;
|
|
697
698
|
'metrics:navigation'?: undefined;
|
|
698
699
|
'ssr:success': boolean | undefined;
|
|
699
700
|
'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
|
|
@@ -1405,6 +1406,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
1405
1406
|
'ufo:styleProps': number;
|
|
1406
1407
|
'ufo:styleDeclarations': number;
|
|
1407
1408
|
'ufo:cssrules': number;
|
|
1409
|
+
'metric:vc90'?: number | null | undefined;
|
|
1408
1410
|
'metrics:navigation'?: undefined;
|
|
1409
1411
|
'ssr:success': boolean | undefined;
|
|
1410
1412
|
'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
|
|
@@ -2116,6 +2118,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
2116
2118
|
'ufo:styleProps'?: undefined;
|
|
2117
2119
|
'ufo:styleDeclarations'?: undefined;
|
|
2118
2120
|
'ufo:cssrules'?: undefined;
|
|
2121
|
+
'metric:vc90'?: number | null | undefined;
|
|
2119
2122
|
'metrics:navigation': {
|
|
2120
2123
|
redirectStart: number;
|
|
2121
2124
|
redirectEnd: number;
|
|
@@ -2848,6 +2851,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
2848
2851
|
'ufo:styleProps': number;
|
|
2849
2852
|
'ufo:styleDeclarations': number;
|
|
2850
2853
|
'ufo:cssrules': number;
|
|
2854
|
+
'metric:vc90'?: number | null | undefined;
|
|
2851
2855
|
'metrics:navigation': {
|
|
2852
2856
|
redirectStart: number;
|
|
2853
2857
|
redirectEnd: number;
|
|
@@ -3580,6 +3584,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
3580
3584
|
'ufo:styleProps'?: undefined;
|
|
3581
3585
|
'ufo:styleDeclarations'?: undefined;
|
|
3582
3586
|
'ufo:cssrules'?: undefined;
|
|
3587
|
+
'metric:vc90'?: number | null | undefined;
|
|
3583
3588
|
'metrics:navigation'?: undefined;
|
|
3584
3589
|
'metrics@ttai': {
|
|
3585
3590
|
[key: string]: number;
|
|
@@ -4294,6 +4299,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
4294
4299
|
'ufo:styleProps': number;
|
|
4295
4300
|
'ufo:styleDeclarations': number;
|
|
4296
4301
|
'ufo:cssrules': number;
|
|
4302
|
+
'metric:vc90'?: number | null | undefined;
|
|
4297
4303
|
'metrics:navigation'?: undefined;
|
|
4298
4304
|
'metrics@ttai': {
|
|
4299
4305
|
[key: string]: number;
|
|
@@ -5008,6 +5014,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
5008
5014
|
'ufo:styleProps'?: undefined;
|
|
5009
5015
|
'ufo:styleDeclarations'?: undefined;
|
|
5010
5016
|
'ufo:cssrules'?: undefined;
|
|
5017
|
+
'metric:vc90'?: number | null | undefined;
|
|
5011
5018
|
'metrics:navigation': {
|
|
5012
5019
|
redirectStart: number;
|
|
5013
5020
|
redirectEnd: number;
|
|
@@ -5743,6 +5750,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
5743
5750
|
'ufo:styleProps': number;
|
|
5744
5751
|
'ufo:styleDeclarations': number;
|
|
5745
5752
|
'ufo:cssrules': number;
|
|
5753
|
+
'metric:vc90'?: number | null | undefined;
|
|
5746
5754
|
'metrics:navigation': {
|
|
5747
5755
|
redirectStart: number;
|
|
5748
5756
|
redirectEnd: number;
|
|
@@ -6488,6 +6496,7 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
|
|
|
6488
6496
|
'ufo:styleProps'?: undefined;
|
|
6489
6497
|
'ufo:styleDeclarations'?: undefined;
|
|
6490
6498
|
'ufo:cssrules'?: undefined;
|
|
6499
|
+
'metric:vc90'?: number | null | undefined;
|
|
6491
6500
|
'metrics:navigation'?: undefined;
|
|
6492
6501
|
'ssr:success': boolean | undefined;
|
|
6493
6502
|
'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
|
|
@@ -7199,6 +7208,7 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
|
|
|
7199
7208
|
'ufo:styleProps': number;
|
|
7200
7209
|
'ufo:styleDeclarations': number;
|
|
7201
7210
|
'ufo:cssrules': number;
|
|
7211
|
+
'metric:vc90'?: number | null | undefined;
|
|
7202
7212
|
'metrics:navigation'?: undefined;
|
|
7203
7213
|
'ssr:success': boolean | undefined;
|
|
7204
7214
|
'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
|
|
@@ -7910,6 +7920,7 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
|
|
|
7910
7920
|
'ufo:styleProps'?: undefined;
|
|
7911
7921
|
'ufo:styleDeclarations'?: undefined;
|
|
7912
7922
|
'ufo:cssrules'?: undefined;
|
|
7923
|
+
'metric:vc90'?: number | null | undefined;
|
|
7913
7924
|
'metrics:navigation': {
|
|
7914
7925
|
redirectStart: number;
|
|
7915
7926
|
redirectEnd: number;
|
|
@@ -8642,6 +8653,7 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
|
|
|
8642
8653
|
'ufo:styleProps': number;
|
|
8643
8654
|
'ufo:styleDeclarations': number;
|
|
8644
8655
|
'ufo:cssrules': number;
|
|
8656
|
+
'metric:vc90'?: number | null | undefined;
|
|
8645
8657
|
'metrics:navigation': {
|
|
8646
8658
|
redirectStart: number;
|
|
8647
8659
|
redirectEnd: number;
|
|
@@ -9374,6 +9386,7 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
|
|
|
9374
9386
|
'ufo:styleProps'?: undefined;
|
|
9375
9387
|
'ufo:styleDeclarations'?: undefined;
|
|
9376
9388
|
'ufo:cssrules'?: undefined;
|
|
9389
|
+
'metric:vc90'?: number | null | undefined;
|
|
9377
9390
|
'metrics:navigation'?: undefined;
|
|
9378
9391
|
'metrics@ttai': {
|
|
9379
9392
|
[key: string]: number;
|
|
@@ -10088,6 +10101,7 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
|
|
|
10088
10101
|
'ufo:styleProps': number;
|
|
10089
10102
|
'ufo:styleDeclarations': number;
|
|
10090
10103
|
'ufo:cssrules': number;
|
|
10104
|
+
'metric:vc90'?: number | null | undefined;
|
|
10091
10105
|
'metrics:navigation'?: undefined;
|
|
10092
10106
|
'metrics@ttai': {
|
|
10093
10107
|
[key: string]: number;
|
|
@@ -10802,6 +10816,7 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
|
|
|
10802
10816
|
'ufo:styleProps'?: undefined;
|
|
10803
10817
|
'ufo:styleDeclarations'?: undefined;
|
|
10804
10818
|
'ufo:cssrules'?: undefined;
|
|
10819
|
+
'metric:vc90'?: number | null | undefined;
|
|
10805
10820
|
'metrics:navigation': {
|
|
10806
10821
|
redirectStart: number;
|
|
10807
10822
|
redirectEnd: number;
|
|
@@ -11537,6 +11552,7 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
|
|
|
11537
11552
|
'ufo:styleProps': number;
|
|
11538
11553
|
'ufo:styleDeclarations': number;
|
|
11539
11554
|
'ufo:cssrules': number;
|
|
11555
|
+
'metric:vc90'?: number | null | undefined;
|
|
11540
11556
|
'metrics:navigation': {
|
|
11541
11557
|
redirectStart: number;
|
|
11542
11558
|
redirectEnd: number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
2
|
/**
|
|
3
3
|
* Prevent a subtree from holding up an interaction
|
|
4
4
|
* Use this when you have a component which loads in late, but
|
|
@@ -20,4 +20,4 @@ import { type ReactNode } from 'react';
|
|
|
20
20
|
export default function UFOInteractionIgnore({ children, ignore, }: {
|
|
21
21
|
children?: ReactNode;
|
|
22
22
|
ignore?: boolean;
|
|
23
|
-
}): JSX.Element;
|
|
23
|
+
}): React.JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
2
|
/**
|
|
3
3
|
* Annotate part of the react tree with a product name
|
|
4
4
|
* ```
|
|
@@ -10,4 +10,4 @@ import { type ReactNode } from 'react';
|
|
|
10
10
|
export default function UFOLabel({ name, children }: {
|
|
11
11
|
name: string;
|
|
12
12
|
children: ReactNode;
|
|
13
|
-
}): JSX.Element;
|
|
13
|
+
}): React.JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
2
|
/**
|
|
3
3
|
* Render this whenever you're loading.
|
|
4
4
|
*
|
|
@@ -49,5 +49,5 @@ type Props = {
|
|
|
49
49
|
children?: ReactNode;
|
|
50
50
|
experimental?: boolean;
|
|
51
51
|
};
|
|
52
|
-
export default function UFOLoadHold({ children, name, hold, experimental }: Props): JSX.Element | null;
|
|
52
|
+
export default function UFOLoadHold({ children, name, hold, experimental }: Props): React.JSX.Element | null;
|
|
53
53
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { type LazySuspenseProps } from './loosely-lazy';
|
|
3
3
|
/**
|
|
4
4
|
* Provides a placeholder for lazily loaded content, improving perceived performance.
|
|
@@ -10,4 +10,4 @@ export default function Placeholder({ name, children, fallback, }: {
|
|
|
10
10
|
name: string;
|
|
11
11
|
children?: LazySuspenseProps['children'];
|
|
12
12
|
fallback?: LazySuspenseProps['fallback'];
|
|
13
|
-
}): JSX.Element;
|
|
13
|
+
}): React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { LazySuspenseProps } from './types';
|
|
3
3
|
export declare const LazySuspense: {
|
|
4
|
-
({ fallback, children, name }: LazySuspenseProps): JSX.Element;
|
|
4
|
+
({ fallback, children, name }: LazySuspenseProps): React.JSX.Element;
|
|
5
5
|
displayName: string;
|
|
6
6
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
type Props = {
|
|
3
3
|
segmentName: string;
|
|
4
4
|
};
|
|
5
|
-
export declare function SegmentHighlight({ segmentName }: Props): JSX.Element | null;
|
|
5
|
+
export declare function SegmentHighlight({ segmentName }: Props): React.JSX.Element | null;
|
|
6
6
|
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
2
|
type Props = {
|
|
3
3
|
name: string;
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
};
|
|
6
6
|
/** A portion of the page we apply measurement to */
|
|
7
|
-
export default function UFOSegment({ name: segmentName, children }: Props): JSX.Element;
|
|
7
|
+
export default function UFOSegment({ name: segmentName, children }: Props): React.JSX.Element;
|
|
8
8
|
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { ComponentsLogType, MultiHeatmapPayload, VCEntryType, VCIgnoreReason, VCRatioType } from '../../../common/vc/types';
|
|
2
|
+
import type { ObservedMutationType } from '../observers/types';
|
|
3
|
+
import type { RevisionEntry } from '../revisions/types';
|
|
4
|
+
type Viewport = {
|
|
5
|
+
w: number;
|
|
6
|
+
h: number;
|
|
7
|
+
};
|
|
8
|
+
type ArraySize = {
|
|
9
|
+
w: number;
|
|
10
|
+
h: number;
|
|
11
|
+
};
|
|
12
|
+
type HeatmapAttrs = {
|
|
13
|
+
viewport: Viewport;
|
|
14
|
+
revisions: RevisionEntry[];
|
|
15
|
+
arraySize?: ArraySize;
|
|
16
|
+
devToolsEnabled?: boolean;
|
|
17
|
+
};
|
|
18
|
+
type Heatmap = Uint32Array;
|
|
19
|
+
type ProcessDataArgs = {
|
|
20
|
+
VCParts: number[];
|
|
21
|
+
clean: boolean;
|
|
22
|
+
ssr?: number;
|
|
23
|
+
};
|
|
24
|
+
type PerRevision<T> = T[];
|
|
25
|
+
export type ApplyChangesError = {
|
|
26
|
+
error: string;
|
|
27
|
+
time: number;
|
|
28
|
+
};
|
|
29
|
+
export type HandleUpdateArgs = {
|
|
30
|
+
time: number;
|
|
31
|
+
type: ObservedMutationType;
|
|
32
|
+
classification: boolean[];
|
|
33
|
+
intersectionRect: DOMRectReadOnly;
|
|
34
|
+
element: HTMLElement;
|
|
35
|
+
targetName: string;
|
|
36
|
+
ignoreReason?: VCIgnoreReason;
|
|
37
|
+
onError: (error: ApplyChangesError) => void;
|
|
38
|
+
};
|
|
39
|
+
export declare class MultiRevisionHeatmap {
|
|
40
|
+
viewport: Viewport;
|
|
41
|
+
arraySize: ArraySize;
|
|
42
|
+
revisions: RevisionEntry[];
|
|
43
|
+
heatmaps: Heatmap[];
|
|
44
|
+
devToolsEnabled: boolean;
|
|
45
|
+
vcRatios: PerRevision<VCRatioType>;
|
|
46
|
+
componentsLogs: PerRevision<ComponentsLogType>;
|
|
47
|
+
constructor({ viewport, revisions, arraySize, devToolsEnabled }: HeatmapAttrs);
|
|
48
|
+
handleUpdate({ time, type, classification, intersectionRect, element, targetName, ignoreReason, onError, }: HandleUpdateArgs): void;
|
|
49
|
+
getData(): {
|
|
50
|
+
heatmaps: Uint32Array[];
|
|
51
|
+
};
|
|
52
|
+
getPayloadShapedData(args: ProcessDataArgs): MultiHeatmapPayload;
|
|
53
|
+
processData({ VCParts, ssr }: ProcessDataArgs): {
|
|
54
|
+
VC: {
|
|
55
|
+
[key: string]: number | null;
|
|
56
|
+
};
|
|
57
|
+
VCBox: {
|
|
58
|
+
[key: string]: Set<string> | null;
|
|
59
|
+
};
|
|
60
|
+
VCEntries: {
|
|
61
|
+
abs: number[][];
|
|
62
|
+
rel: VCEntryType[];
|
|
63
|
+
};
|
|
64
|
+
totalPainted: number;
|
|
65
|
+
}[];
|
|
66
|
+
private mapPixelsToHeatmap;
|
|
67
|
+
private getElementRatio;
|
|
68
|
+
private applyChangesToHeatMap;
|
|
69
|
+
private getIndex;
|
|
70
|
+
private getCleanHeatmap;
|
|
71
|
+
static makeVCReturnObj<T>(VCParts: number[]): {
|
|
72
|
+
[key: string]: T | null;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type UnbindFn } from 'bind-event-listener';
|
|
2
2
|
import type { ComponentsLogType, VCAbortReason, VCAbortReasonType, VCEntryType, VCIgnoreReason, VCRatioType, VCRawDataType, VCResult } from '../../common/vc/types';
|
|
3
|
+
import { MultiRevisionHeatmap } from './heatmap/heatmap';
|
|
3
4
|
import { Observers, type SelectorConfig } from './observers';
|
|
4
5
|
type GetVCResultType = {
|
|
5
6
|
start: number;
|
|
@@ -20,7 +21,7 @@ export declare class VCObserver {
|
|
|
20
21
|
abortReason: VCAbortReasonType;
|
|
21
22
|
outOfBoundaryInfo: string;
|
|
22
23
|
/** config * */
|
|
23
|
-
static VCParts:
|
|
24
|
+
static VCParts: readonly ["25", "50", "75", "80", "85", "90", "95", "98", "99"];
|
|
24
25
|
viewport: {
|
|
25
26
|
w: number;
|
|
26
27
|
h: number;
|
|
@@ -28,6 +29,7 @@ export declare class VCObserver {
|
|
|
28
29
|
arraySize: number;
|
|
29
30
|
heatmap: number[][];
|
|
30
31
|
heatmapNext: number[][];
|
|
32
|
+
multiHeatmap: MultiRevisionHeatmap | null;
|
|
31
33
|
componentsLog: ComponentsLogType;
|
|
32
34
|
vcRatios: VCRatioType;
|
|
33
35
|
active: boolean;
|
|
@@ -72,6 +74,7 @@ export declare class VCObserver {
|
|
|
72
74
|
VCEntries: {
|
|
73
75
|
abs: number[][];
|
|
74
76
|
rel: VCEntryType[];
|
|
77
|
+
speedIndex: number;
|
|
75
78
|
};
|
|
76
79
|
totalPainted: number;
|
|
77
80
|
};
|
|
@@ -79,6 +82,8 @@ export declare class VCObserver {
|
|
|
79
82
|
setReactRootRenderStart(startTime?: number): void;
|
|
80
83
|
setReactRootRenderStop(stopTime?: number): void;
|
|
81
84
|
private handleUpdate;
|
|
85
|
+
private legacyHandleUpdate;
|
|
86
|
+
private onViewportChangeDetected;
|
|
82
87
|
abortObservation(abortReason?: VCAbortReason): void;
|
|
83
88
|
private setAbortReason;
|
|
84
89
|
private resetState;
|
|
@@ -6,5 +6,5 @@ export declare const MEDIA_WRAPPER_TAG = "data-media-vc-wrapper";
|
|
|
6
6
|
export declare const VcMediaWrapperProps: {
|
|
7
7
|
"data-media-vc-wrapper": boolean;
|
|
8
8
|
};
|
|
9
|
-
export default function MediaWrapper({ children }: Props): JSX.Element;
|
|
9
|
+
export default function MediaWrapper({ children }: Props): React.JSX.Element;
|
|
10
10
|
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type FilterArgs = {
|
|
2
|
+
type: string;
|
|
3
|
+
tags?: string[];
|
|
4
|
+
ignoreReason?: string;
|
|
5
|
+
};
|
|
6
|
+
type Filter = {
|
|
7
|
+
name: string;
|
|
8
|
+
filter: (args: FilterArgs) => boolean;
|
|
9
|
+
};
|
|
10
|
+
type ClassifyUpdateArgs = {
|
|
11
|
+
element: HTMLElement;
|
|
12
|
+
type: string;
|
|
13
|
+
tags?: string[];
|
|
14
|
+
ignoreReason?: string;
|
|
15
|
+
};
|
|
16
|
+
export declare class ViewportUpdateClassifier {
|
|
17
|
+
types: string[];
|
|
18
|
+
filters: Filter[];
|
|
19
|
+
removedFilters: string[];
|
|
20
|
+
protected __combinedTypes: string[];
|
|
21
|
+
protected __combinedFilters: Filter[];
|
|
22
|
+
mergeConfig(): void;
|
|
23
|
+
classifyUpdate({ element, type, tags, ignoreReason }: ClassifyUpdateArgs): boolean;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type FilterArgs, ViewportUpdateClassifier } from './ViewportUpdateClassifier';
|
|
2
|
+
export declare class FY24_01Classifier extends ViewportUpdateClassifier {
|
|
3
|
+
revision: string;
|
|
4
|
+
types: string[];
|
|
5
|
+
filters: {
|
|
6
|
+
name: string;
|
|
7
|
+
filter: ({ type, ignoreReason }: FilterArgs) => boolean;
|
|
8
|
+
}[];
|
|
9
|
+
constructor();
|
|
10
|
+
}
|
|
11
|
+
export declare const revFY24_01Classifier: FY24_01Classifier;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FY24_01Classifier } from './fy24_01';
|
|
2
|
+
import { type FilterArgs } from './ViewportUpdateClassifier';
|
|
3
|
+
export declare class FY25_01Classifier extends FY24_01Classifier {
|
|
4
|
+
revision: string;
|
|
5
|
+
types: string[];
|
|
6
|
+
filters: {
|
|
7
|
+
name: string;
|
|
8
|
+
filter: ({ type, ignoreReason }: FilterArgs) => boolean;
|
|
9
|
+
}[];
|
|
10
|
+
removedFilters: never[];
|
|
11
|
+
constructor();
|
|
12
|
+
}
|
|
13
|
+
export declare const revFY25_01Classifier: FY25_01Classifier;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { UnbindFn } from 'bind-event-listener';
|
|
2
|
+
import { MultiRevisionHeatmap } from '../../vc/vc-observer/heatmap/heatmap';
|
|
2
3
|
export declare const AbortEvent: {
|
|
3
4
|
readonly wheel: "wheel";
|
|
4
5
|
readonly keydown: "keydown";
|
|
@@ -29,6 +30,7 @@ export type VCRawDataType = {
|
|
|
29
30
|
oldDomUpdatesEnabled: boolean;
|
|
30
31
|
devToolsEnabled: boolean;
|
|
31
32
|
ratios: VCRatioType;
|
|
33
|
+
multiHeatmap: MultiRevisionHeatmap | null;
|
|
32
34
|
};
|
|
33
35
|
export type VCEntryType = {
|
|
34
36
|
time: number;
|
|
@@ -44,12 +46,12 @@ export type ComponentsLogEntry = {
|
|
|
44
46
|
};
|
|
45
47
|
export type VCIgnoredElement = Pick<ComponentsLogEntry, 'targetName' | 'ignoreReason'>;
|
|
46
48
|
export type VCResult = {
|
|
47
|
-
[key: string]: boolean | number | string | null | VCEntryType[] | VCIgnoredElement[] | {
|
|
49
|
+
[key: string]: boolean | number | string | null | undefined | VCEntryType[] | VCIgnoredElement[] | {
|
|
48
50
|
w: number;
|
|
49
51
|
h: number;
|
|
50
52
|
} | {
|
|
51
53
|
[key: string]: boolean | number | string[] | null | VCEntryType[];
|
|
52
|
-
};
|
|
54
|
+
} | MultiHeatmapPayload;
|
|
53
55
|
};
|
|
54
56
|
export type MetricsDevToolsTypes = {
|
|
55
57
|
'75': number | null;
|
|
@@ -68,15 +70,19 @@ export type ExperimentalVCDevToolsOptions = {
|
|
|
68
70
|
export type ComponentsLogType = {
|
|
69
71
|
[timestamp: number]: ComponentsLogEntry[];
|
|
70
72
|
};
|
|
73
|
+
interface VCDebugInfo {
|
|
74
|
+
entries: VCEntryType[];
|
|
75
|
+
log: ComponentsLogType;
|
|
76
|
+
metrics: MetricsDevToolsTypes;
|
|
77
|
+
heatmap: number[][];
|
|
78
|
+
ratios: VCRatioType;
|
|
79
|
+
start: number;
|
|
80
|
+
stop: number;
|
|
81
|
+
}
|
|
71
82
|
declare global {
|
|
72
83
|
interface Window {
|
|
73
|
-
__vc?:
|
|
74
|
-
|
|
75
|
-
log: ComponentsLogType;
|
|
76
|
-
metrics: MetricsDevToolsTypes;
|
|
77
|
-
heatmap: number[][];
|
|
78
|
-
ratios: VCRatioType;
|
|
79
|
-
};
|
|
84
|
+
__vc?: VCDebugInfo;
|
|
85
|
+
__vcNext?: VCDebugInfo;
|
|
80
86
|
__vcNotAvailableReason?: string;
|
|
81
87
|
__SSR_PLACEHOLDERS_DIMENSIONS__?: {
|
|
82
88
|
[key: string]: DOMRectReadOnly;
|
|
@@ -89,3 +95,16 @@ declare global {
|
|
|
89
95
|
};
|
|
90
96
|
}
|
|
91
97
|
}
|
|
98
|
+
type MultiHeatmapRevisionPayload = {
|
|
99
|
+
'metric:vc90': number | null;
|
|
100
|
+
revision: string;
|
|
101
|
+
clean: boolean;
|
|
102
|
+
vcDetails?: {
|
|
103
|
+
[key: string]: {
|
|
104
|
+
t: number;
|
|
105
|
+
e: string[];
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
export type MultiHeatmapPayload = MultiHeatmapRevisionPayload[];
|
|
110
|
+
export {};
|