@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.
Files changed (35) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/config/index.js +22 -0
  3. package/dist/cjs/create-payload/utils/get-vc-metrics.js +1 -1
  4. package/dist/cjs/interaction-metrics/index.js +3 -3
  5. package/dist/cjs/interaction-metrics-init/index.js +3 -2
  6. package/dist/cjs/vc/vc-observer/index.js +4 -2
  7. package/dist/cjs/vc/vc-observer/observers/index.js +6 -2
  8. package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +22 -6
  9. package/dist/es2019/config/index.js +21 -0
  10. package/dist/es2019/create-payload/utils/get-vc-metrics.js +1 -1
  11. package/dist/es2019/interaction-metrics/index.js +4 -4
  12. package/dist/es2019/interaction-metrics-init/index.js +3 -2
  13. package/dist/es2019/vc/vc-observer/index.js +4 -2
  14. package/dist/es2019/vc/vc-observer/observers/index.js +5 -2
  15. package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +18 -2
  16. package/dist/esm/config/index.js +20 -0
  17. package/dist/esm/create-payload/utils/get-vc-metrics.js +1 -1
  18. package/dist/esm/interaction-metrics/index.js +4 -4
  19. package/dist/esm/interaction-metrics-init/index.js +3 -2
  20. package/dist/esm/vc/vc-observer/index.js +4 -2
  21. package/dist/esm/vc/vc-observer/observers/index.js +6 -2
  22. package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +22 -6
  23. package/dist/types/config/index.d.ts +7 -0
  24. package/dist/types/vc/types.d.ts +4 -0
  25. package/dist/types/vc/vc-observer/index.d.ts +1 -1
  26. package/dist/types/vc/vc-observer/observers/index.d.ts +4 -0
  27. package/dist/types/vc/vc-observer/observers/ssr-placeholders/index.d.ts +10 -1
  28. package/dist/types/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +1 -1
  29. package/dist/types-ts4.5/config/index.d.ts +7 -0
  30. package/dist/types-ts4.5/vc/types.d.ts +4 -0
  31. package/dist/types-ts4.5/vc/vc-observer/index.d.ts +1 -1
  32. package/dist/types-ts4.5/vc/vc-observer/observers/index.d.ts +4 -0
  33. package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/index.d.ts +10 -1
  34. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +1 -1
  35. 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
@@ -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
- }, CLEANUP_TIMEOUT);
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((_opts$SSRConfig = opts.SSRConfig) === null || _opts$SSRConfig === void 0 ? void 0 : _opts$SSRConfig.enablePageLayoutPlaceholder);
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 enablePageLayoutPlaceholder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
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 (_ref) {
51
+ (0, _defineProperty2.default)(this, "intersectionObserverCallback", function (_ref2) {
46
52
  var _this$intersectionObs;
47
- var target = _ref.target,
48
- boundingClientRect = _ref.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
- return rect && Math.abs(rect.x - boundingClientRect.x) < this.EQUALITY_THRESHOLD && Math.abs(rect.y - boundingClientRect.y) < this.EQUALITY_THRESHOLD && Math.abs(rect.width - boundingClientRect.width) < this.EQUALITY_THRESHOLD && Math.abs(rect.height - boundingClientRect.height) < this.EQUALITY_THRESHOLD || false;
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
- }, CLEANUP_TIMEOUT);
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((_opts$SSRConfig = opts.SSRConfig) === null || _opts$SSRConfig === void 0 ? void 0 : _opts$SSRConfig.enablePageLayoutPlaceholder);
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(enablePageLayoutPlaceholder = false) {
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
- return rect && Math.abs(rect.x - boundingClientRect.x) < this.EQUALITY_THRESHOLD && Math.abs(rect.y - boundingClientRect.y) < this.EQUALITY_THRESHOLD && Math.abs(rect.width - boundingClientRect.width) < this.EQUALITY_THRESHOLD && Math.abs(rect.height - boundingClientRect.height) < this.EQUALITY_THRESHOLD || false;
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;
@@ -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
- }, CLEANUP_TIMEOUT);
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((_opts$SSRConfig = opts.SSRConfig) === null || _opts$SSRConfig === void 0 ? void 0 : _opts$SSRConfig.enablePageLayoutPlaceholder);
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 enablePageLayoutPlaceholder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
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 (_ref) {
44
+ _defineProperty(this, "intersectionObserverCallback", function (_ref2) {
39
45
  var _this$intersectionObs;
40
- var target = _ref.target,
41
- boundingClientRect = _ref.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
- return rect && Math.abs(rect.x - boundingClientRect.x) < this.EQUALITY_THRESHOLD && Math.abs(rect.y - boundingClientRect.y) < this.EQUALITY_THRESHOLD && Math.abs(rect.width - boundingClientRect.width) < this.EQUALITY_THRESHOLD && Math.abs(rect.height - boundingClientRect.height) < this.EQUALITY_THRESHOLD || false;
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 {};
@@ -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
- constructor(enablePageLayoutPlaceholder?: boolean);
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
- constructor(enablePageLayoutPlaceholder?: boolean);
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 {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/react-ufo",
3
- "version": "3.13.21",
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
  }