@atlaskit/react-ufo 3.13.21 → 3.13.23
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/config/index.js +22 -0
- package/dist/cjs/create-payload/utils/get-vc-metrics.js +1 -1
- package/dist/cjs/interaction-metrics/index.js +3 -3
- package/dist/cjs/interaction-metrics-init/index.js +3 -2
- package/dist/cjs/vc/vc-observer/index.js +4 -2
- package/dist/cjs/vc/vc-observer/observers/index.js +6 -2
- package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +22 -6
- package/dist/es2019/config/index.js +21 -0
- package/dist/es2019/create-payload/utils/get-vc-metrics.js +1 -1
- package/dist/es2019/interaction-metrics/index.js +4 -4
- package/dist/es2019/interaction-metrics-init/index.js +3 -2
- package/dist/es2019/vc/vc-observer/index.js +4 -2
- package/dist/es2019/vc/vc-observer/observers/index.js +5 -2
- package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +18 -2
- package/dist/esm/config/index.js +20 -0
- package/dist/esm/create-payload/utils/get-vc-metrics.js +1 -1
- package/dist/esm/interaction-metrics/index.js +4 -4
- package/dist/esm/interaction-metrics-init/index.js +3 -2
- package/dist/esm/vc/vc-observer/index.js +4 -2
- package/dist/esm/vc/vc-observer/observers/index.js +6 -2
- package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +22 -6
- package/dist/types/config/index.d.ts +7 -0
- package/dist/types/vc/types.d.ts +4 -0
- package/dist/types/vc/vc-observer/index.d.ts +1 -1
- package/dist/types/vc/vc-observer/observers/index.d.ts +4 -0
- package/dist/types/vc/vc-observer/observers/ssr-placeholders/index.d.ts +10 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +1 -1
- package/dist/types-ts4.5/config/index.d.ts +7 -0
- package/dist/types-ts4.5/vc/types.d.ts +4 -0
- package/dist/types-ts4.5/vc/vc-observer/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer/observers/index.d.ts +4 -0
- package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/index.d.ts +10 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +1 -1
- package/package.json +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/ufo-interaction-ignore
|
|
2
2
|
|
|
3
|
+
## 3.13.23
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#173171](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/173171)
|
|
8
|
+
[`e60305b08b528`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e60305b08b528) -
|
|
9
|
+
Added fg to enable new interaction metrics in jsm portal
|
|
10
|
+
|
|
11
|
+
## 3.13.22
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#169345](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/169345)
|
|
16
|
+
[`6fab3e0da9d68`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6fab3e0da9d68) -
|
|
17
|
+
Added API to disable checks for size and position of SSR placeholders
|
|
18
|
+
|
|
3
19
|
## 3.13.21
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/cjs/config/index.js
CHANGED
|
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
exports.CLEANUP_TIMEOUT = void 0;
|
|
7
8
|
exports.getAwaitBM3TTIList = getAwaitBM3TTIList;
|
|
8
9
|
exports.getCapabilityRate = getCapabilityRate;
|
|
9
10
|
exports.getConfig = getConfig;
|
|
@@ -12,6 +13,7 @@ exports.getDoNotAbortActivePressInteractionOnTransition = getDoNotAbortActivePre
|
|
|
12
13
|
exports.getEnabledVCRevisions = getEnabledVCRevisions;
|
|
13
14
|
exports.getExperimentalInteractionRate = getExperimentalInteractionRate;
|
|
14
15
|
exports.getInteractionRate = getInteractionRate;
|
|
16
|
+
exports.getInteractionTimeout = getInteractionTimeout;
|
|
15
17
|
exports.getMostRecentVCRevision = getMostRecentVCRevision;
|
|
16
18
|
exports.getPostInteractionRate = getPostInteractionRate;
|
|
17
19
|
exports.getRemoveInteractionsUFOPrefixes = getRemoveInteractionsUFOPrefixes;
|
|
@@ -325,4 +327,24 @@ function getDoNotAbortActivePressInteractionOnTransition() {
|
|
|
325
327
|
} catch (e) {
|
|
326
328
|
return undefined;
|
|
327
329
|
}
|
|
330
|
+
}
|
|
331
|
+
var CLEANUP_TIMEOUT = exports.CLEANUP_TIMEOUT = 60 * 1000;
|
|
332
|
+
function getInteractionTimeout(ufoName) {
|
|
333
|
+
try {
|
|
334
|
+
if (!config) {
|
|
335
|
+
return CLEANUP_TIMEOUT;
|
|
336
|
+
}
|
|
337
|
+
var _config10 = config,
|
|
338
|
+
interactionTimeout = _config10.interactionTimeout;
|
|
339
|
+
if (interactionTimeout != null && interactionTimeout[ufoName] != null) {
|
|
340
|
+
return interactionTimeout[ufoName];
|
|
341
|
+
}
|
|
342
|
+
if (interactionTimeout != null && interactionTimeout.__globalInteractionTimeout != null) {
|
|
343
|
+
return interactionTimeout.__globalInteractionTimeout;
|
|
344
|
+
} else {
|
|
345
|
+
return CLEANUP_TIMEOUT;
|
|
346
|
+
}
|
|
347
|
+
} catch (e) {
|
|
348
|
+
return CLEANUP_TIMEOUT;
|
|
349
|
+
}
|
|
328
350
|
}
|
|
@@ -34,7 +34,7 @@ function _getVCMetrics() {
|
|
|
34
34
|
}
|
|
35
35
|
return _context.abrupt("return", {});
|
|
36
36
|
case 3:
|
|
37
|
-
if (!(0, _platformFeatureFlags.fg)('platform_ufo_enable_interactions_vc')) {
|
|
37
|
+
if (!((0, _platformFeatureFlags.fg)('platform_ufo_enable_interactions_vc') || (0, _platformFeatureFlags.fg)('platform_ufo_enable_interactivity_jsm'))) {
|
|
38
38
|
_context.next = 8;
|
|
39
39
|
break;
|
|
40
40
|
}
|
|
@@ -758,10 +758,10 @@ function addNewInteraction(interactionId, ufoName, type, startTime, rate, labelS
|
|
|
758
758
|
postInteractionLog.reset();
|
|
759
759
|
}
|
|
760
760
|
var previousTime = startTime;
|
|
761
|
-
var timeoutTime = CLEANUP_TIMEOUT;
|
|
761
|
+
var timeoutTime = (0, _platformFeatureFlags.fg)('platform_ufo_enable_timeout_config') ? (0, _config.getInteractionTimeout)(ufoName) : CLEANUP_TIMEOUT;
|
|
762
762
|
var timerID = setTimeout(function () {
|
|
763
763
|
abort(interactionId, 'timeout');
|
|
764
|
-
},
|
|
764
|
+
}, timeoutTime);
|
|
765
765
|
function changeTimeout(newTime) {
|
|
766
766
|
// we compare if the time left is lower than the new time to no
|
|
767
767
|
// extend the timeout beyond the initial waiting time
|
|
@@ -856,7 +856,7 @@ function addNewInteraction(interactionId, ufoName, type, startTime, rate, labelS
|
|
|
856
856
|
});
|
|
857
857
|
}
|
|
858
858
|
}
|
|
859
|
-
if (type === 'press' && (0, _platformFeatureFlags.fg)('platform_ufo_enable_interactions_vc')) {
|
|
859
|
+
if (type === 'press' && ((0, _platformFeatureFlags.fg)('platform_ufo_enable_interactions_vc') || (0, _platformFeatureFlags.fg)('platform_ufo_enable_interactivity_jsm'))) {
|
|
860
860
|
var _getConfig13;
|
|
861
861
|
(0, _vc.getVCObserver)().start({
|
|
862
862
|
startTime: startTime,
|
|
@@ -95,7 +95,8 @@ function init(analyticsWebClientAsync, config) {
|
|
|
95
95
|
oldDomUpdates: config.vc.oldDomUpdates,
|
|
96
96
|
devToolsEnabled: config.vc.devToolsEnabled,
|
|
97
97
|
selectorConfig: config.vc.selectorConfig,
|
|
98
|
-
ssrEnablePageLayoutPlaceholder: config.vc.ssrEnablePageLayoutPlaceholder
|
|
98
|
+
ssrEnablePageLayoutPlaceholder: config.vc.ssrEnablePageLayoutPlaceholder,
|
|
99
|
+
disableSizeAndPositionCheck: config.vc.disableSizeAndPositionCheck
|
|
99
100
|
};
|
|
100
101
|
(0, _vc.getVCObserver)(vcOptions).start({
|
|
101
102
|
startTime: 0
|
|
@@ -113,7 +114,7 @@ function init(analyticsWebClientAsync, config) {
|
|
|
113
114
|
(0, _hiddenTiming.setupHiddenTimingCapture)();
|
|
114
115
|
(0, _additionalPayload.startLighthouseObserver)();
|
|
115
116
|
initialized = true;
|
|
116
|
-
if ((0, _platformFeatureFlags.fg)('platform_ufo_enable_events_observer')) {
|
|
117
|
+
if ((0, _platformFeatureFlags.fg)('platform_ufo_enable_events_observer') || (0, _platformFeatureFlags.fg)('platform_ufo_enable_interactivity_jsm')) {
|
|
117
118
|
if (typeof PerformanceObserver !== 'undefined') {
|
|
118
119
|
var observer = (0, _interactionsPerformanceObserver.getPerformanceObserver)();
|
|
119
120
|
observer.observe({
|
|
@@ -454,7 +454,8 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
454
454
|
this.arraySize = options.heatmapSize || 200;
|
|
455
455
|
this.devToolsEnabled = options.devToolsEnabled || false;
|
|
456
456
|
this.oldDomUpdatesEnabled = options.oldDomUpdates || false;
|
|
457
|
-
var ssrEnablePageLayoutPlaceholder = options.ssrEnablePageLayoutPlaceholder
|
|
457
|
+
var ssrEnablePageLayoutPlaceholder = options.ssrEnablePageLayoutPlaceholder,
|
|
458
|
+
disableSizeAndPositionCheck = options.disableSizeAndPositionCheck;
|
|
458
459
|
this.observers = new _observers.Observers({
|
|
459
460
|
selectorConfig: options.selectorConfig || {
|
|
460
461
|
id: false,
|
|
@@ -464,7 +465,8 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
464
465
|
dataVC: true
|
|
465
466
|
},
|
|
466
467
|
SSRConfig: {
|
|
467
|
-
enablePageLayoutPlaceholder: ssrEnablePageLayoutPlaceholder || false
|
|
468
|
+
enablePageLayoutPlaceholder: ssrEnablePageLayoutPlaceholder || false,
|
|
469
|
+
disableSizeAndPositionCheck: disableSizeAndPositionCheck
|
|
468
470
|
}
|
|
469
471
|
});
|
|
470
472
|
this.heatmap = !(0, _config.isVCRevisionEnabled)('fy25.01') ? [] : this.getCleanHeatmap();
|
|
@@ -33,7 +33,8 @@ function isElementVisible(target) {
|
|
|
33
33
|
var Observers = exports.Observers = /*#__PURE__*/function () {
|
|
34
34
|
function Observers(opts) {
|
|
35
35
|
var _this = this,
|
|
36
|
-
_opts$SSRConfig
|
|
36
|
+
_opts$SSRConfig,
|
|
37
|
+
_opts$SSRConfig2;
|
|
37
38
|
(0, _classCallCheck2.default)(this, Observers);
|
|
38
39
|
(0, _defineProperty2.default)(this, "observedMutations", new WeakMap());
|
|
39
40
|
(0, _defineProperty2.default)(this, "elementsInView", new Set());
|
|
@@ -73,7 +74,10 @@ var Observers = exports.Observers = /*#__PURE__*/function () {
|
|
|
73
74
|
this.selectorConfig = _objectSpread(_objectSpread({}, this.selectorConfig), opts.selectorConfig);
|
|
74
75
|
this.intersectionObserver = this.getIntersectionObserver();
|
|
75
76
|
this.mutationObserver = this.getMutationObserver();
|
|
76
|
-
this.ssrPlaceholderHandler = new _ssrPlaceholders.SSRPlaceholderHandlers(
|
|
77
|
+
this.ssrPlaceholderHandler = new _ssrPlaceholders.SSRPlaceholderHandlers({
|
|
78
|
+
enablePageLayoutPlaceholder: (_opts$SSRConfig = opts.SSRConfig) === null || _opts$SSRConfig === void 0 ? void 0 : _opts$SSRConfig.enablePageLayoutPlaceholder,
|
|
79
|
+
disableSizeAndPositionCheck: (_opts$SSRConfig2 = opts.SSRConfig) === null || _opts$SSRConfig2 === void 0 ? void 0 : _opts$SSRConfig2.disableSizeAndPositionCheck
|
|
80
|
+
});
|
|
77
81
|
}
|
|
78
82
|
return (0, _createClass2.default)(Observers, [{
|
|
79
83
|
key: "isBrowserSupported",
|
|
@@ -11,9 +11,15 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
11
|
var ANCESTOR_LOOKUP_LIMIT = 10;
|
|
12
12
|
var PAGE_LAYOUT_ID = 'page-layout.root';
|
|
13
13
|
var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/function () {
|
|
14
|
-
function SSRPlaceholderHandlers() {
|
|
14
|
+
function SSRPlaceholderHandlers(_ref) {
|
|
15
15
|
var _this = this;
|
|
16
|
-
var
|
|
16
|
+
var _ref$enablePageLayout = _ref.enablePageLayoutPlaceholder,
|
|
17
|
+
enablePageLayoutPlaceholder = _ref$enablePageLayout === void 0 ? false : _ref$enablePageLayout,
|
|
18
|
+
_ref$disableSizeAndPo = _ref.disableSizeAndPositionCheck,
|
|
19
|
+
disableSizeAndPositionCheck = _ref$disableSizeAndPo === void 0 ? {
|
|
20
|
+
v: false,
|
|
21
|
+
h: false
|
|
22
|
+
} : _ref$disableSizeAndPo;
|
|
17
23
|
(0, _classCallCheck2.default)(this, SSRPlaceholderHandlers);
|
|
18
24
|
(0, _defineProperty2.default)(this, "staticPlaceholders", new Map());
|
|
19
25
|
(0, _defineProperty2.default)(this, "callbacks", new Map());
|
|
@@ -42,10 +48,10 @@ var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/funct
|
|
|
42
48
|
}
|
|
43
49
|
return '';
|
|
44
50
|
});
|
|
45
|
-
(0, _defineProperty2.default)(this, "intersectionObserverCallback", function (
|
|
51
|
+
(0, _defineProperty2.default)(this, "intersectionObserverCallback", function (_ref2) {
|
|
46
52
|
var _this$intersectionObs;
|
|
47
|
-
var target =
|
|
48
|
-
boundingClientRect =
|
|
53
|
+
var target = _ref2.target,
|
|
54
|
+
boundingClientRect = _ref2.boundingClientRect;
|
|
49
55
|
(_this$intersectionObs = _this.intersectionObserver) === null || _this$intersectionObs === void 0 || _this$intersectionObs.unobserve(target);
|
|
50
56
|
if (!(target instanceof HTMLElement)) {
|
|
51
57
|
// impossible case - keep typescript healthy
|
|
@@ -102,6 +108,7 @@ var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/funct
|
|
|
102
108
|
});
|
|
103
109
|
}
|
|
104
110
|
this.enablePageLayoutPlaceholder = enablePageLayoutPlaceholder;
|
|
111
|
+
this.disableSizeAndPositionCheck = disableSizeAndPositionCheck;
|
|
105
112
|
if (window.document) {
|
|
106
113
|
try {
|
|
107
114
|
var selector = this.enablePageLayoutPlaceholder ? '[data-ssr-placeholder],[data-testid="page-layout.root"]' : '[data-ssr-placeholder]';
|
|
@@ -223,7 +230,16 @@ var SSRPlaceholderHandlers = exports.SSRPlaceholderHandlers = /*#__PURE__*/funct
|
|
|
223
230
|
}, {
|
|
224
231
|
key: "hasSameSizePosition",
|
|
225
232
|
value: function hasSameSizePosition(rect, boundingClientRect) {
|
|
226
|
-
|
|
233
|
+
var _this$disableSizeAndP, _this$disableSizeAndP2;
|
|
234
|
+
if ((_this$disableSizeAndP = this.disableSizeAndPositionCheck) !== null && _this$disableSizeAndP !== void 0 && _this$disableSizeAndP.v && (_this$disableSizeAndP2 = this.disableSizeAndPositionCheck) !== null && _this$disableSizeAndP2 !== void 0 && _this$disableSizeAndP2.h) {
|
|
235
|
+
return true;
|
|
236
|
+
}
|
|
237
|
+
if (!rect) {
|
|
238
|
+
return false;
|
|
239
|
+
}
|
|
240
|
+
var horizontalCheck = this.disableSizeAndPositionCheck.h ? true : Math.abs(rect.x - boundingClientRect.x) < this.EQUALITY_THRESHOLD && Math.abs(rect.width - boundingClientRect.width) < this.EQUALITY_THRESHOLD;
|
|
241
|
+
var verticalCheck = this.disableSizeAndPositionCheck.v ? true : Math.abs(rect.y - boundingClientRect.y) < this.EQUALITY_THRESHOLD && Math.abs(rect.height - boundingClientRect.height) < this.EQUALITY_THRESHOLD;
|
|
242
|
+
return horizontalCheck && verticalCheck || false;
|
|
227
243
|
}
|
|
228
244
|
}, {
|
|
229
245
|
key: "isDummyRect",
|
|
@@ -313,4 +313,25 @@ export function getDoNotAbortActivePressInteractionOnTransition() {
|
|
|
313
313
|
} catch (e) {
|
|
314
314
|
return undefined;
|
|
315
315
|
}
|
|
316
|
+
}
|
|
317
|
+
export const CLEANUP_TIMEOUT = 60 * 1000;
|
|
318
|
+
export function getInteractionTimeout(ufoName) {
|
|
319
|
+
try {
|
|
320
|
+
if (!config) {
|
|
321
|
+
return CLEANUP_TIMEOUT;
|
|
322
|
+
}
|
|
323
|
+
const {
|
|
324
|
+
interactionTimeout
|
|
325
|
+
} = config;
|
|
326
|
+
if (interactionTimeout != null && interactionTimeout[ufoName] != null) {
|
|
327
|
+
return interactionTimeout[ufoName];
|
|
328
|
+
}
|
|
329
|
+
if (interactionTimeout != null && interactionTimeout.__globalInteractionTimeout != null) {
|
|
330
|
+
return interactionTimeout.__globalInteractionTimeout;
|
|
331
|
+
} else {
|
|
332
|
+
return CLEANUP_TIMEOUT;
|
|
333
|
+
}
|
|
334
|
+
} catch (e) {
|
|
335
|
+
return CLEANUP_TIMEOUT;
|
|
336
|
+
}
|
|
316
337
|
}
|
|
@@ -11,7 +11,7 @@ async function getVCMetrics(interaction) {
|
|
|
11
11
|
if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
|
|
12
12
|
return {};
|
|
13
13
|
}
|
|
14
|
-
if (fg('platform_ufo_enable_interactions_vc')) {
|
|
14
|
+
if (fg('platform_ufo_enable_interactions_vc') || fg('platform_ufo_enable_interactivity_jsm')) {
|
|
15
15
|
if (interaction.type !== 'page_load' && interaction.type !== 'transition' && interaction.type !== 'press') {
|
|
16
16
|
return {};
|
|
17
17
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { v4 as createUUID } from 'uuid';
|
|
2
2
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
3
|
import coinflip from '../coinflip';
|
|
4
|
-
import { getAwaitBM3TTIList, getCapabilityRate, getConfig } from '../config';
|
|
4
|
+
import { getAwaitBM3TTIList, getCapabilityRate, getConfig, getInteractionTimeout } from '../config';
|
|
5
5
|
import { experimentalVC, getExperimentalVCMetrics, onExperimentalInteractionComplete } from '../create-experimental-interaction-metrics-payload';
|
|
6
6
|
import { clearActiveTrace } from '../experience-trace-id-context';
|
|
7
7
|
import { allFeatureFlagsAccessed, currentFeatureFlagsAccessed } from '../feature-flags-accessed';
|
|
@@ -634,10 +634,10 @@ export function addNewInteraction(interactionId, ufoName, type, startTime, rate,
|
|
|
634
634
|
postInteractionLog.reset();
|
|
635
635
|
}
|
|
636
636
|
let previousTime = startTime;
|
|
637
|
-
let timeoutTime = CLEANUP_TIMEOUT;
|
|
637
|
+
let timeoutTime = fg('platform_ufo_enable_timeout_config') ? getInteractionTimeout(ufoName) : CLEANUP_TIMEOUT;
|
|
638
638
|
const timerID = setTimeout(() => {
|
|
639
639
|
abort(interactionId, 'timeout');
|
|
640
|
-
},
|
|
640
|
+
}, timeoutTime);
|
|
641
641
|
function changeTimeout(newTime) {
|
|
642
642
|
// we compare if the time left is lower than the new time to no
|
|
643
643
|
// extend the timeout beyond the initial waiting time
|
|
@@ -732,7 +732,7 @@ export function addNewInteraction(interactionId, ufoName, type, startTime, rate,
|
|
|
732
732
|
});
|
|
733
733
|
}
|
|
734
734
|
}
|
|
735
|
-
if (type === 'press' && fg('platform_ufo_enable_interactions_vc')) {
|
|
735
|
+
if (type === 'press' && (fg('platform_ufo_enable_interactions_vc') || fg('platform_ufo_enable_interactivity_jsm'))) {
|
|
736
736
|
var _getConfig13, _getConfig13$experime;
|
|
737
737
|
getVCObserver().start({
|
|
738
738
|
startTime,
|
|
@@ -85,7 +85,8 @@ export function init(analyticsWebClientAsync, config) {
|
|
|
85
85
|
oldDomUpdates: config.vc.oldDomUpdates,
|
|
86
86
|
devToolsEnabled: config.vc.devToolsEnabled,
|
|
87
87
|
selectorConfig: config.vc.selectorConfig,
|
|
88
|
-
ssrEnablePageLayoutPlaceholder: config.vc.ssrEnablePageLayoutPlaceholder
|
|
88
|
+
ssrEnablePageLayoutPlaceholder: config.vc.ssrEnablePageLayoutPlaceholder,
|
|
89
|
+
disableSizeAndPositionCheck: config.vc.disableSizeAndPositionCheck
|
|
89
90
|
};
|
|
90
91
|
getVCObserver(vcOptions).start({
|
|
91
92
|
startTime: 0
|
|
@@ -103,7 +104,7 @@ export function init(analyticsWebClientAsync, config) {
|
|
|
103
104
|
setupHiddenTimingCapture();
|
|
104
105
|
startLighthouseObserver();
|
|
105
106
|
initialized = true;
|
|
106
|
-
if (fg('platform_ufo_enable_events_observer')) {
|
|
107
|
+
if (fg('platform_ufo_enable_events_observer') || fg('platform_ufo_enable_interactivity_jsm')) {
|
|
107
108
|
if (typeof PerformanceObserver !== 'undefined') {
|
|
108
109
|
const observer = getPerformanceObserver();
|
|
109
110
|
observer.observe({
|
|
@@ -494,7 +494,8 @@ export class VCObserver {
|
|
|
494
494
|
this.devToolsEnabled = options.devToolsEnabled || false;
|
|
495
495
|
this.oldDomUpdatesEnabled = options.oldDomUpdates || false;
|
|
496
496
|
const {
|
|
497
|
-
ssrEnablePageLayoutPlaceholder
|
|
497
|
+
ssrEnablePageLayoutPlaceholder,
|
|
498
|
+
disableSizeAndPositionCheck
|
|
498
499
|
} = options;
|
|
499
500
|
this.observers = new Observers({
|
|
500
501
|
selectorConfig: options.selectorConfig || {
|
|
@@ -505,7 +506,8 @@ export class VCObserver {
|
|
|
505
506
|
dataVC: true
|
|
506
507
|
},
|
|
507
508
|
SSRConfig: {
|
|
508
|
-
enablePageLayoutPlaceholder: ssrEnablePageLayoutPlaceholder || false
|
|
509
|
+
enablePageLayoutPlaceholder: ssrEnablePageLayoutPlaceholder || false,
|
|
510
|
+
disableSizeAndPositionCheck: disableSizeAndPositionCheck
|
|
509
511
|
}
|
|
510
512
|
});
|
|
511
513
|
this.heatmap = !isVCRevisionEnabled('fy25.01') ? [] : this.getCleanHeatmap();
|
|
@@ -21,7 +21,7 @@ function isElementVisible(target) {
|
|
|
21
21
|
}
|
|
22
22
|
export class Observers {
|
|
23
23
|
constructor(opts) {
|
|
24
|
-
var _opts$SSRConfig;
|
|
24
|
+
var _opts$SSRConfig, _opts$SSRConfig2;
|
|
25
25
|
_defineProperty(this, "observedMutations", new WeakMap());
|
|
26
26
|
_defineProperty(this, "elementsInView", new Set());
|
|
27
27
|
_defineProperty(this, "callbacks", new Set());
|
|
@@ -61,7 +61,10 @@ export class Observers {
|
|
|
61
61
|
};
|
|
62
62
|
this.intersectionObserver = this.getIntersectionObserver();
|
|
63
63
|
this.mutationObserver = this.getMutationObserver();
|
|
64
|
-
this.ssrPlaceholderHandler = new SSRPlaceholderHandlers(
|
|
64
|
+
this.ssrPlaceholderHandler = new SSRPlaceholderHandlers({
|
|
65
|
+
enablePageLayoutPlaceholder: (_opts$SSRConfig = opts.SSRConfig) === null || _opts$SSRConfig === void 0 ? void 0 : _opts$SSRConfig.enablePageLayoutPlaceholder,
|
|
66
|
+
disableSizeAndPositionCheck: (_opts$SSRConfig2 = opts.SSRConfig) === null || _opts$SSRConfig2 === void 0 ? void 0 : _opts$SSRConfig2.disableSizeAndPositionCheck
|
|
67
|
+
});
|
|
65
68
|
}
|
|
66
69
|
isBrowserSupported() {
|
|
67
70
|
return typeof window.IntersectionObserver === 'function' && typeof window.MutationObserver === 'function';
|
|
@@ -2,7 +2,13 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
const ANCESTOR_LOOKUP_LIMIT = 10;
|
|
3
3
|
const PAGE_LAYOUT_ID = 'page-layout.root';
|
|
4
4
|
export class SSRPlaceholderHandlers {
|
|
5
|
-
constructor(
|
|
5
|
+
constructor({
|
|
6
|
+
enablePageLayoutPlaceholder = false,
|
|
7
|
+
disableSizeAndPositionCheck = {
|
|
8
|
+
v: false,
|
|
9
|
+
h: false
|
|
10
|
+
}
|
|
11
|
+
}) {
|
|
6
12
|
_defineProperty(this, "staticPlaceholders", new Map());
|
|
7
13
|
_defineProperty(this, "callbacks", new Map());
|
|
8
14
|
_defineProperty(this, "getSizeCallbacks", new Map());
|
|
@@ -87,6 +93,7 @@ export class SSRPlaceholderHandlers {
|
|
|
87
93
|
this.intersectionObserver = new IntersectionObserver(entries => entries.filter(entry => entry.intersectionRatio > 0).forEach(this.intersectionObserverCallback));
|
|
88
94
|
}
|
|
89
95
|
this.enablePageLayoutPlaceholder = enablePageLayoutPlaceholder;
|
|
96
|
+
this.disableSizeAndPositionCheck = disableSizeAndPositionCheck;
|
|
90
97
|
if (window.document) {
|
|
91
98
|
try {
|
|
92
99
|
const selector = this.enablePageLayoutPlaceholder ? '[data-ssr-placeholder],[data-testid="page-layout.root"]' : '[data-ssr-placeholder]';
|
|
@@ -187,7 +194,16 @@ export class SSRPlaceholderHandlers {
|
|
|
187
194
|
});
|
|
188
195
|
}
|
|
189
196
|
hasSameSizePosition(rect, boundingClientRect) {
|
|
190
|
-
|
|
197
|
+
var _this$disableSizeAndP, _this$disableSizeAndP2;
|
|
198
|
+
if ((_this$disableSizeAndP = this.disableSizeAndPositionCheck) !== null && _this$disableSizeAndP !== void 0 && _this$disableSizeAndP.v && (_this$disableSizeAndP2 = this.disableSizeAndPositionCheck) !== null && _this$disableSizeAndP2 !== void 0 && _this$disableSizeAndP2.h) {
|
|
199
|
+
return true;
|
|
200
|
+
}
|
|
201
|
+
if (!rect) {
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
const horizontalCheck = this.disableSizeAndPositionCheck.h ? true : Math.abs(rect.x - boundingClientRect.x) < this.EQUALITY_THRESHOLD && Math.abs(rect.width - boundingClientRect.width) < this.EQUALITY_THRESHOLD;
|
|
205
|
+
const verticalCheck = this.disableSizeAndPositionCheck.v ? true : Math.abs(rect.y - boundingClientRect.y) < this.EQUALITY_THRESHOLD && Math.abs(rect.height - boundingClientRect.height) < this.EQUALITY_THRESHOLD;
|
|
206
|
+
return horizontalCheck && verticalCheck || false;
|
|
191
207
|
}
|
|
192
208
|
isDummyRect(rect) {
|
|
193
209
|
return rect && rect.width < 0 && rect.height < 0 || false;
|
package/dist/esm/config/index.js
CHANGED
|
@@ -303,4 +303,24 @@ export function getDoNotAbortActivePressInteractionOnTransition() {
|
|
|
303
303
|
} catch (e) {
|
|
304
304
|
return undefined;
|
|
305
305
|
}
|
|
306
|
+
}
|
|
307
|
+
export var CLEANUP_TIMEOUT = 60 * 1000;
|
|
308
|
+
export function getInteractionTimeout(ufoName) {
|
|
309
|
+
try {
|
|
310
|
+
if (!config) {
|
|
311
|
+
return CLEANUP_TIMEOUT;
|
|
312
|
+
}
|
|
313
|
+
var _config10 = config,
|
|
314
|
+
interactionTimeout = _config10.interactionTimeout;
|
|
315
|
+
if (interactionTimeout != null && interactionTimeout[ufoName] != null) {
|
|
316
|
+
return interactionTimeout[ufoName];
|
|
317
|
+
}
|
|
318
|
+
if (interactionTimeout != null && interactionTimeout.__globalInteractionTimeout != null) {
|
|
319
|
+
return interactionTimeout.__globalInteractionTimeout;
|
|
320
|
+
} else {
|
|
321
|
+
return CLEANUP_TIMEOUT;
|
|
322
|
+
}
|
|
323
|
+
} catch (e) {
|
|
324
|
+
return CLEANUP_TIMEOUT;
|
|
325
|
+
}
|
|
306
326
|
}
|
|
@@ -27,7 +27,7 @@ function _getVCMetrics() {
|
|
|
27
27
|
}
|
|
28
28
|
return _context.abrupt("return", {});
|
|
29
29
|
case 3:
|
|
30
|
-
if (!fg('platform_ufo_enable_interactions_vc')) {
|
|
30
|
+
if (!(fg('platform_ufo_enable_interactions_vc') || fg('platform_ufo_enable_interactivity_jsm'))) {
|
|
31
31
|
_context.next = 8;
|
|
32
32
|
break;
|
|
33
33
|
}
|
|
@@ -11,7 +11,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
11
11
|
import { v4 as createUUID } from 'uuid';
|
|
12
12
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
13
13
|
import coinflip from '../coinflip';
|
|
14
|
-
import { getAwaitBM3TTIList, getCapabilityRate, getConfig } from '../config';
|
|
14
|
+
import { getAwaitBM3TTIList, getCapabilityRate, getConfig, getInteractionTimeout } from '../config';
|
|
15
15
|
import { experimentalVC, getExperimentalVCMetrics, onExperimentalInteractionComplete } from '../create-experimental-interaction-metrics-payload';
|
|
16
16
|
import { clearActiveTrace } from '../experience-trace-id-context';
|
|
17
17
|
import { allFeatureFlagsAccessed, currentFeatureFlagsAccessed } from '../feature-flags-accessed';
|
|
@@ -713,10 +713,10 @@ export function addNewInteraction(interactionId, ufoName, type, startTime, rate,
|
|
|
713
713
|
postInteractionLog.reset();
|
|
714
714
|
}
|
|
715
715
|
var previousTime = startTime;
|
|
716
|
-
var timeoutTime = CLEANUP_TIMEOUT;
|
|
716
|
+
var timeoutTime = fg('platform_ufo_enable_timeout_config') ? getInteractionTimeout(ufoName) : CLEANUP_TIMEOUT;
|
|
717
717
|
var timerID = setTimeout(function () {
|
|
718
718
|
abort(interactionId, 'timeout');
|
|
719
|
-
},
|
|
719
|
+
}, timeoutTime);
|
|
720
720
|
function changeTimeout(newTime) {
|
|
721
721
|
// we compare if the time left is lower than the new time to no
|
|
722
722
|
// extend the timeout beyond the initial waiting time
|
|
@@ -811,7 +811,7 @@ export function addNewInteraction(interactionId, ufoName, type, startTime, rate,
|
|
|
811
811
|
});
|
|
812
812
|
}
|
|
813
813
|
}
|
|
814
|
-
if (type === 'press' && fg('platform_ufo_enable_interactions_vc')) {
|
|
814
|
+
if (type === 'press' && (fg('platform_ufo_enable_interactions_vc') || fg('platform_ufo_enable_interactivity_jsm'))) {
|
|
815
815
|
var _getConfig13;
|
|
816
816
|
getVCObserver().start({
|
|
817
817
|
startTime: startTime,
|
|
@@ -86,7 +86,8 @@ export function init(analyticsWebClientAsync, config) {
|
|
|
86
86
|
oldDomUpdates: config.vc.oldDomUpdates,
|
|
87
87
|
devToolsEnabled: config.vc.devToolsEnabled,
|
|
88
88
|
selectorConfig: config.vc.selectorConfig,
|
|
89
|
-
ssrEnablePageLayoutPlaceholder: config.vc.ssrEnablePageLayoutPlaceholder
|
|
89
|
+
ssrEnablePageLayoutPlaceholder: config.vc.ssrEnablePageLayoutPlaceholder,
|
|
90
|
+
disableSizeAndPositionCheck: config.vc.disableSizeAndPositionCheck
|
|
90
91
|
};
|
|
91
92
|
getVCObserver(vcOptions).start({
|
|
92
93
|
startTime: 0
|
|
@@ -104,7 +105,7 @@ export function init(analyticsWebClientAsync, config) {
|
|
|
104
105
|
setupHiddenTimingCapture();
|
|
105
106
|
startLighthouseObserver();
|
|
106
107
|
initialized = true;
|
|
107
|
-
if (fg('platform_ufo_enable_events_observer')) {
|
|
108
|
+
if (fg('platform_ufo_enable_events_observer') || fg('platform_ufo_enable_interactivity_jsm')) {
|
|
108
109
|
if (typeof PerformanceObserver !== 'undefined') {
|
|
109
110
|
var observer = getPerformanceObserver();
|
|
110
111
|
observer.observe({
|
|
@@ -447,7 +447,8 @@ export var VCObserver = /*#__PURE__*/function () {
|
|
|
447
447
|
this.arraySize = options.heatmapSize || 200;
|
|
448
448
|
this.devToolsEnabled = options.devToolsEnabled || false;
|
|
449
449
|
this.oldDomUpdatesEnabled = options.oldDomUpdates || false;
|
|
450
|
-
var ssrEnablePageLayoutPlaceholder = options.ssrEnablePageLayoutPlaceholder
|
|
450
|
+
var ssrEnablePageLayoutPlaceholder = options.ssrEnablePageLayoutPlaceholder,
|
|
451
|
+
disableSizeAndPositionCheck = options.disableSizeAndPositionCheck;
|
|
451
452
|
this.observers = new Observers({
|
|
452
453
|
selectorConfig: options.selectorConfig || {
|
|
453
454
|
id: false,
|
|
@@ -457,7 +458,8 @@ export var VCObserver = /*#__PURE__*/function () {
|
|
|
457
458
|
dataVC: true
|
|
458
459
|
},
|
|
459
460
|
SSRConfig: {
|
|
460
|
-
enablePageLayoutPlaceholder: ssrEnablePageLayoutPlaceholder || false
|
|
461
|
+
enablePageLayoutPlaceholder: ssrEnablePageLayoutPlaceholder || false,
|
|
462
|
+
disableSizeAndPositionCheck: disableSizeAndPositionCheck
|
|
461
463
|
}
|
|
462
464
|
});
|
|
463
465
|
this.heatmap = !isVCRevisionEnabled('fy25.01') ? [] : this.getCleanHeatmap();
|
|
@@ -26,7 +26,8 @@ function isElementVisible(target) {
|
|
|
26
26
|
export var Observers = /*#__PURE__*/function () {
|
|
27
27
|
function Observers(opts) {
|
|
28
28
|
var _this = this,
|
|
29
|
-
_opts$SSRConfig
|
|
29
|
+
_opts$SSRConfig,
|
|
30
|
+
_opts$SSRConfig2;
|
|
30
31
|
_classCallCheck(this, Observers);
|
|
31
32
|
_defineProperty(this, "observedMutations", new WeakMap());
|
|
32
33
|
_defineProperty(this, "elementsInView", new Set());
|
|
@@ -66,7 +67,10 @@ export var Observers = /*#__PURE__*/function () {
|
|
|
66
67
|
this.selectorConfig = _objectSpread(_objectSpread({}, this.selectorConfig), opts.selectorConfig);
|
|
67
68
|
this.intersectionObserver = this.getIntersectionObserver();
|
|
68
69
|
this.mutationObserver = this.getMutationObserver();
|
|
69
|
-
this.ssrPlaceholderHandler = new SSRPlaceholderHandlers(
|
|
70
|
+
this.ssrPlaceholderHandler = new SSRPlaceholderHandlers({
|
|
71
|
+
enablePageLayoutPlaceholder: (_opts$SSRConfig = opts.SSRConfig) === null || _opts$SSRConfig === void 0 ? void 0 : _opts$SSRConfig.enablePageLayoutPlaceholder,
|
|
72
|
+
disableSizeAndPositionCheck: (_opts$SSRConfig2 = opts.SSRConfig) === null || _opts$SSRConfig2 === void 0 ? void 0 : _opts$SSRConfig2.disableSizeAndPositionCheck
|
|
73
|
+
});
|
|
70
74
|
}
|
|
71
75
|
return _createClass(Observers, [{
|
|
72
76
|
key: "isBrowserSupported",
|
|
@@ -4,9 +4,15 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
4
4
|
var ANCESTOR_LOOKUP_LIMIT = 10;
|
|
5
5
|
var PAGE_LAYOUT_ID = 'page-layout.root';
|
|
6
6
|
export var SSRPlaceholderHandlers = /*#__PURE__*/function () {
|
|
7
|
-
function SSRPlaceholderHandlers() {
|
|
7
|
+
function SSRPlaceholderHandlers(_ref) {
|
|
8
8
|
var _this = this;
|
|
9
|
-
var
|
|
9
|
+
var _ref$enablePageLayout = _ref.enablePageLayoutPlaceholder,
|
|
10
|
+
enablePageLayoutPlaceholder = _ref$enablePageLayout === void 0 ? false : _ref$enablePageLayout,
|
|
11
|
+
_ref$disableSizeAndPo = _ref.disableSizeAndPositionCheck,
|
|
12
|
+
disableSizeAndPositionCheck = _ref$disableSizeAndPo === void 0 ? {
|
|
13
|
+
v: false,
|
|
14
|
+
h: false
|
|
15
|
+
} : _ref$disableSizeAndPo;
|
|
10
16
|
_classCallCheck(this, SSRPlaceholderHandlers);
|
|
11
17
|
_defineProperty(this, "staticPlaceholders", new Map());
|
|
12
18
|
_defineProperty(this, "callbacks", new Map());
|
|
@@ -35,10 +41,10 @@ export var SSRPlaceholderHandlers = /*#__PURE__*/function () {
|
|
|
35
41
|
}
|
|
36
42
|
return '';
|
|
37
43
|
});
|
|
38
|
-
_defineProperty(this, "intersectionObserverCallback", function (
|
|
44
|
+
_defineProperty(this, "intersectionObserverCallback", function (_ref2) {
|
|
39
45
|
var _this$intersectionObs;
|
|
40
|
-
var target =
|
|
41
|
-
boundingClientRect =
|
|
46
|
+
var target = _ref2.target,
|
|
47
|
+
boundingClientRect = _ref2.boundingClientRect;
|
|
42
48
|
(_this$intersectionObs = _this.intersectionObserver) === null || _this$intersectionObs === void 0 || _this$intersectionObs.unobserve(target);
|
|
43
49
|
if (!(target instanceof HTMLElement)) {
|
|
44
50
|
// impossible case - keep typescript healthy
|
|
@@ -95,6 +101,7 @@ export var SSRPlaceholderHandlers = /*#__PURE__*/function () {
|
|
|
95
101
|
});
|
|
96
102
|
}
|
|
97
103
|
this.enablePageLayoutPlaceholder = enablePageLayoutPlaceholder;
|
|
104
|
+
this.disableSizeAndPositionCheck = disableSizeAndPositionCheck;
|
|
98
105
|
if (window.document) {
|
|
99
106
|
try {
|
|
100
107
|
var selector = this.enablePageLayoutPlaceholder ? '[data-ssr-placeholder],[data-testid="page-layout.root"]' : '[data-ssr-placeholder]';
|
|
@@ -216,7 +223,16 @@ export var SSRPlaceholderHandlers = /*#__PURE__*/function () {
|
|
|
216
223
|
}, {
|
|
217
224
|
key: "hasSameSizePosition",
|
|
218
225
|
value: function hasSameSizePosition(rect, boundingClientRect) {
|
|
219
|
-
|
|
226
|
+
var _this$disableSizeAndP, _this$disableSizeAndP2;
|
|
227
|
+
if ((_this$disableSizeAndP = this.disableSizeAndPositionCheck) !== null && _this$disableSizeAndP !== void 0 && _this$disableSizeAndP.v && (_this$disableSizeAndP2 = this.disableSizeAndPositionCheck) !== null && _this$disableSizeAndP2 !== void 0 && _this$disableSizeAndP2.h) {
|
|
228
|
+
return true;
|
|
229
|
+
}
|
|
230
|
+
if (!rect) {
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
var horizontalCheck = this.disableSizeAndPositionCheck.h ? true : Math.abs(rect.x - boundingClientRect.x) < this.EQUALITY_THRESHOLD && Math.abs(rect.width - boundingClientRect.width) < this.EQUALITY_THRESHOLD;
|
|
234
|
+
var verticalCheck = this.disableSizeAndPositionCheck.v ? true : Math.abs(rect.y - boundingClientRect.y) < this.EQUALITY_THRESHOLD && Math.abs(rect.height - boundingClientRect.height) < this.EQUALITY_THRESHOLD;
|
|
235
|
+
return horizontalCheck && verticalCheck || false;
|
|
220
236
|
}
|
|
221
237
|
}, {
|
|
222
238
|
key: "isDummyRect",
|
|
@@ -30,6 +30,7 @@ type Rates = {
|
|
|
30
30
|
type TTVCRevisions = 'fy25.01' | 'fy25.02' | 'fy25.03';
|
|
31
31
|
export type Config = {
|
|
32
32
|
readonly enabled?: boolean;
|
|
33
|
+
readonly interactionTimeout?: Record<string, number>;
|
|
33
34
|
readonly doNotAbortActivePressInteraction?: string[];
|
|
34
35
|
readonly doNotAbortActivePressInteractionOnTransition?: string[];
|
|
35
36
|
readonly awaitBM3TTI?: string[];
|
|
@@ -74,6 +75,10 @@ export type Config = {
|
|
|
74
75
|
readonly ssr?: boolean;
|
|
75
76
|
readonly ssrWhitelist?: string[];
|
|
76
77
|
readonly ssrEnablePageLayoutPlaceholder?: boolean;
|
|
78
|
+
readonly disableSizeAndPositionCheck?: {
|
|
79
|
+
v: boolean;
|
|
80
|
+
h: boolean;
|
|
81
|
+
};
|
|
77
82
|
readonly includeSSRInV3?: boolean;
|
|
78
83
|
readonly stopVCAtInteractionFinish?: boolean;
|
|
79
84
|
readonly includeSSRRatio?: boolean;
|
|
@@ -128,4 +133,6 @@ export declare function getRemoveInteractionsUFOPrefixes(): boolean;
|
|
|
128
133
|
export declare function getUfoNameOverrides(): UFONameOverride | undefined;
|
|
129
134
|
export declare function getDoNotAbortActivePressInteraction(): string[] | undefined;
|
|
130
135
|
export declare function getDoNotAbortActivePressInteractionOnTransition(): string[] | undefined;
|
|
136
|
+
export declare const CLEANUP_TIMEOUT: number;
|
|
137
|
+
export declare function getInteractionTimeout(ufoName: string): number;
|
|
131
138
|
export {};
|
package/dist/types/vc/types.d.ts
CHANGED
|
@@ -26,6 +26,10 @@ export type VCObserverOptions = {
|
|
|
26
26
|
selectorConfig?: SelectorConfig | undefined;
|
|
27
27
|
isPostInteraction?: boolean;
|
|
28
28
|
ssrEnablePageLayoutPlaceholder?: boolean;
|
|
29
|
+
disableSizeAndPositionCheck?: {
|
|
30
|
+
v: boolean;
|
|
31
|
+
h: boolean;
|
|
32
|
+
};
|
|
29
33
|
};
|
|
30
34
|
export interface VCObserverInterface {
|
|
31
35
|
start(startArg: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type UnbindFn } from 'bind-event-listener';
|
|
2
2
|
import type { ComponentsLogType, VCAbortReasonType, VCEntryType, VCIgnoreReason, VCRatioType, VCRawDataType, VCResult } from '../../common/vc/types';
|
|
3
3
|
import type { GetVCResultType, VCObserverInterface, VCObserverOptions } from '../types';
|
|
4
|
-
import { VCRevisionDebugDetails } from './getVCRevisionDebugDetails';
|
|
4
|
+
import { type VCRevisionDebugDetails } from './getVCRevisionDebugDetails';
|
|
5
5
|
import { Observers } from './observers';
|
|
6
6
|
declare global {
|
|
7
7
|
interface Window {
|
|
@@ -11,6 +11,10 @@ type ConstructorOptions = {
|
|
|
11
11
|
selectorConfig: SelectorConfig;
|
|
12
12
|
SSRConfig?: {
|
|
13
13
|
enablePageLayoutPlaceholder: boolean;
|
|
14
|
+
disableSizeAndPositionCheck?: {
|
|
15
|
+
v: boolean;
|
|
16
|
+
h: boolean;
|
|
17
|
+
};
|
|
14
18
|
};
|
|
15
19
|
};
|
|
16
20
|
export declare class Observers implements BrowserObservers {
|
|
@@ -4,6 +4,14 @@ type Rect = {
|
|
|
4
4
|
width: number;
|
|
5
5
|
height: number;
|
|
6
6
|
};
|
|
7
|
+
type DisableSizeAndPositionCheckType = {
|
|
8
|
+
v: boolean;
|
|
9
|
+
h: boolean;
|
|
10
|
+
};
|
|
11
|
+
type SSRPlaceholderHandlersConfig = {
|
|
12
|
+
enablePageLayoutPlaceholder?: boolean;
|
|
13
|
+
disableSizeAndPositionCheck?: DisableSizeAndPositionCheckType;
|
|
14
|
+
};
|
|
7
15
|
export declare class SSRPlaceholderHandlers {
|
|
8
16
|
private staticPlaceholders;
|
|
9
17
|
private callbacks;
|
|
@@ -12,7 +20,8 @@ export declare class SSRPlaceholderHandlers {
|
|
|
12
20
|
private intersectionObserver;
|
|
13
21
|
private EQUALITY_THRESHOLD;
|
|
14
22
|
private enablePageLayoutPlaceholder;
|
|
15
|
-
|
|
23
|
+
private disableSizeAndPositionCheck;
|
|
24
|
+
constructor({ enablePageLayoutPlaceholder, disableSizeAndPositionCheck, }: SSRPlaceholderHandlersConfig);
|
|
16
25
|
private getPlaceholderId;
|
|
17
26
|
private getPlaceholderReplacementId;
|
|
18
27
|
clear(): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RevisionPayloadEntry, VCAbortReason } from '../../../common/vc/types';
|
|
2
|
-
import { VCRevisionDebugDetails } from '../../vc-observer/getVCRevisionDebugDetails';
|
|
2
|
+
import type { VCRevisionDebugDetails } from '../../vc-observer/getVCRevisionDebugDetails';
|
|
3
3
|
import type { VCObserverEntry } from '../types';
|
|
4
4
|
import type { VCCalculator, VCCalculatorParam } from './types';
|
|
5
5
|
declare global {
|
|
@@ -30,6 +30,7 @@ type Rates = {
|
|
|
30
30
|
type TTVCRevisions = 'fy25.01' | 'fy25.02' | 'fy25.03';
|
|
31
31
|
export type Config = {
|
|
32
32
|
readonly enabled?: boolean;
|
|
33
|
+
readonly interactionTimeout?: Record<string, number>;
|
|
33
34
|
readonly doNotAbortActivePressInteraction?: string[];
|
|
34
35
|
readonly doNotAbortActivePressInteractionOnTransition?: string[];
|
|
35
36
|
readonly awaitBM3TTI?: string[];
|
|
@@ -74,6 +75,10 @@ export type Config = {
|
|
|
74
75
|
readonly ssr?: boolean;
|
|
75
76
|
readonly ssrWhitelist?: string[];
|
|
76
77
|
readonly ssrEnablePageLayoutPlaceholder?: boolean;
|
|
78
|
+
readonly disableSizeAndPositionCheck?: {
|
|
79
|
+
v: boolean;
|
|
80
|
+
h: boolean;
|
|
81
|
+
};
|
|
77
82
|
readonly includeSSRInV3?: boolean;
|
|
78
83
|
readonly stopVCAtInteractionFinish?: boolean;
|
|
79
84
|
readonly includeSSRRatio?: boolean;
|
|
@@ -132,4 +137,6 @@ export declare function getRemoveInteractionsUFOPrefixes(): boolean;
|
|
|
132
137
|
export declare function getUfoNameOverrides(): UFONameOverride | undefined;
|
|
133
138
|
export declare function getDoNotAbortActivePressInteraction(): string[] | undefined;
|
|
134
139
|
export declare function getDoNotAbortActivePressInteractionOnTransition(): string[] | undefined;
|
|
140
|
+
export declare const CLEANUP_TIMEOUT: number;
|
|
141
|
+
export declare function getInteractionTimeout(ufoName: string): number;
|
|
135
142
|
export {};
|
|
@@ -26,6 +26,10 @@ export type VCObserverOptions = {
|
|
|
26
26
|
selectorConfig?: SelectorConfig | undefined;
|
|
27
27
|
isPostInteraction?: boolean;
|
|
28
28
|
ssrEnablePageLayoutPlaceholder?: boolean;
|
|
29
|
+
disableSizeAndPositionCheck?: {
|
|
30
|
+
v: boolean;
|
|
31
|
+
h: boolean;
|
|
32
|
+
};
|
|
29
33
|
};
|
|
30
34
|
export interface VCObserverInterface {
|
|
31
35
|
start(startArg: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type UnbindFn } from 'bind-event-listener';
|
|
2
2
|
import type { ComponentsLogType, VCAbortReasonType, VCEntryType, VCIgnoreReason, VCRatioType, VCRawDataType, VCResult } from '../../common/vc/types';
|
|
3
3
|
import type { GetVCResultType, VCObserverInterface, VCObserverOptions } from '../types';
|
|
4
|
-
import { VCRevisionDebugDetails } from './getVCRevisionDebugDetails';
|
|
4
|
+
import { type VCRevisionDebugDetails } from './getVCRevisionDebugDetails';
|
|
5
5
|
import { Observers } from './observers';
|
|
6
6
|
declare global {
|
|
7
7
|
interface Window {
|
|
@@ -11,6 +11,10 @@ type ConstructorOptions = {
|
|
|
11
11
|
selectorConfig: SelectorConfig;
|
|
12
12
|
SSRConfig?: {
|
|
13
13
|
enablePageLayoutPlaceholder: boolean;
|
|
14
|
+
disableSizeAndPositionCheck?: {
|
|
15
|
+
v: boolean;
|
|
16
|
+
h: boolean;
|
|
17
|
+
};
|
|
14
18
|
};
|
|
15
19
|
};
|
|
16
20
|
export declare class Observers implements BrowserObservers {
|
|
@@ -4,6 +4,14 @@ type Rect = {
|
|
|
4
4
|
width: number;
|
|
5
5
|
height: number;
|
|
6
6
|
};
|
|
7
|
+
type DisableSizeAndPositionCheckType = {
|
|
8
|
+
v: boolean;
|
|
9
|
+
h: boolean;
|
|
10
|
+
};
|
|
11
|
+
type SSRPlaceholderHandlersConfig = {
|
|
12
|
+
enablePageLayoutPlaceholder?: boolean;
|
|
13
|
+
disableSizeAndPositionCheck?: DisableSizeAndPositionCheckType;
|
|
14
|
+
};
|
|
7
15
|
export declare class SSRPlaceholderHandlers {
|
|
8
16
|
private staticPlaceholders;
|
|
9
17
|
private callbacks;
|
|
@@ -12,7 +20,8 @@ export declare class SSRPlaceholderHandlers {
|
|
|
12
20
|
private intersectionObserver;
|
|
13
21
|
private EQUALITY_THRESHOLD;
|
|
14
22
|
private enablePageLayoutPlaceholder;
|
|
15
|
-
|
|
23
|
+
private disableSizeAndPositionCheck;
|
|
24
|
+
constructor({ enablePageLayoutPlaceholder, disableSizeAndPositionCheck, }: SSRPlaceholderHandlersConfig);
|
|
16
25
|
private getPlaceholderId;
|
|
17
26
|
private getPlaceholderReplacementId;
|
|
18
27
|
clear(): void;
|
package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RevisionPayloadEntry, VCAbortReason } from '../../../common/vc/types';
|
|
2
|
-
import { VCRevisionDebugDetails } from '../../vc-observer/getVCRevisionDebugDetails';
|
|
2
|
+
import type { VCRevisionDebugDetails } from '../../vc-observer/getVCRevisionDebugDetails';
|
|
3
3
|
import type { VCObserverEntry } from '../types';
|
|
4
4
|
import type { VCCalculator, VCCalculatorParam } from './types';
|
|
5
5
|
declare global {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/react-ufo",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.23",
|
|
4
4
|
"description": "Parts of React UFO that are publicly available",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -174,6 +174,12 @@
|
|
|
174
174
|
},
|
|
175
175
|
"platform_ufo_enable_interactions_vc": {
|
|
176
176
|
"type": "boolean"
|
|
177
|
+
},
|
|
178
|
+
"platform_ufo_enable_timeout_config": {
|
|
179
|
+
"type": "boolean"
|
|
180
|
+
},
|
|
181
|
+
"platform_ufo_enable_interactivity_jsm": {
|
|
182
|
+
"type": "boolean"
|
|
177
183
|
}
|
|
178
184
|
}
|
|
179
185
|
}
|