@atlaskit/react-ufo 4.14.5 → 4.14.7

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 CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/ufo-interaction-ignore
2
2
 
3
+ ## 4.14.7
4
+
5
+ ### Patch Changes
6
+
7
+ - [`ae14db0f1f0c7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ae14db0f1f0c7) -
8
+ Add isDnDStyleMutation back to attribute change detection in vc observer
9
+
10
+ ## 4.14.6
11
+
12
+ ### Patch Changes
13
+
14
+ - [`95ab6a9cc653c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/95ab6a9cc653c) -
15
+ Auto add SSR entry for TTVC v4 onwards
16
+
3
17
  ## 4.14.5
4
18
 
5
19
  ### Patch Changes
@@ -122,7 +122,7 @@ var VCObserverWrapper = exports.VCObserverWrapper = /*#__PURE__*/function () {
122
122
  value: function () {
123
123
  var _getVCResult = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(param) {
124
124
  var _this$oldVCObserver4, _this$newVCObserver3, _ref2;
125
- var experienceKey, include3p, excludeSmartAnswersInSearch, includeSSRRatio, includeRawData, v1v2Result, v3Result, ssrRatio;
125
+ var experienceKey, include3p, excludeSmartAnswersInSearch, includeSSRRatio, includeRawData, v1v2Result, v3v4Result, ssrRatio;
126
126
  return _regenerator.default.wrap(function _callee$(_context) {
127
127
  while (1) switch (_context.prev = _context.next) {
128
128
  case 0:
@@ -150,14 +150,15 @@ var VCObserverWrapper = exports.VCObserverWrapper = /*#__PURE__*/function () {
150
150
  start: param.start,
151
151
  stop: param.stop,
152
152
  interactionId: param.interactionId,
153
- ssr: param.includeSSRInV3 ? param.ssr : undefined,
153
+ ssr: param.ssr,
154
154
  include3p: include3p,
155
155
  excludeSmartAnswersInSearch: excludeSmartAnswersInSearch,
156
156
  includeSSRRatio: includeSSRRatio,
157
157
  interactionType: param.interactionType,
158
158
  isPageVisible: param.isPageVisible,
159
159
  interactionAbortReason: param.interactionAbortReason,
160
- includeRawData: includeRawData
160
+ includeRawData: includeRawData,
161
+ includeSSRInV3: param.includeSSRInV3
161
162
  });
162
163
  case 12:
163
164
  _context.t1 = _context.sent;
@@ -166,18 +167,18 @@ var VCObserverWrapper = exports.VCObserverWrapper = /*#__PURE__*/function () {
166
167
  case 15:
167
168
  _context.t1 = [];
168
169
  case 16:
169
- v3Result = _context.t1;
170
- if (v3Result) {
170
+ v3v4Result = _context.t1;
171
+ if (v3v4Result) {
171
172
  _context.next = 19;
172
173
  break;
173
174
  }
174
175
  return _context.abrupt("return", v1v2Result !== null && v1v2Result !== void 0 ? v1v2Result : {});
175
176
  case 19:
176
- ssrRatio = v3Result[0].ssrRatio;
177
+ ssrRatio = v3v4Result[0].ssrRatio;
177
178
  return _context.abrupt("return", _objectSpread(_objectSpread(_objectSpread({}, includeSSRRatio && ssrRatio !== undefined ? {
178
179
  'ufo:vc:ssrRatio': ssrRatio
179
180
  } : {}), v1v2Result), {}, {
180
- 'ufo:vc:rev': [].concat((0, _toConsumableArray2.default)((_ref2 = v1v2Result === null || v1v2Result === void 0 ? void 0 : v1v2Result['ufo:vc:rev']) !== null && _ref2 !== void 0 ? _ref2 : []), (0, _toConsumableArray2.default)(v3Result !== null && v3Result !== void 0 ? v3Result : []))
181
+ 'ufo:vc:rev': [].concat((0, _toConsumableArray2.default)((_ref2 = v1v2Result === null || v1v2Result === void 0 ? void 0 : v1v2Result['ufo:vc:rev']) !== null && _ref2 !== void 0 ? _ref2 : []), (0, _toConsumableArray2.default)(v3v4Result !== null && v3v4Result !== void 0 ? v3v4Result : []))
181
182
  }));
182
183
  case 21:
183
184
  case "end":
@@ -248,7 +248,7 @@ var VCObserverNew = exports.default = /*#__PURE__*/function () {
248
248
  this.addStartEntry(start);
249
249
  feVCCalculationStartTime = performance.now();
250
250
  calculator_fy25_03 = new _fy25_.default();
251
- if (param.ssr) {
251
+ if (param.includeSSRInV3 && param.ssr) {
252
252
  this.addSSR(param.ssr);
253
253
  }
254
254
  orderedEntries = this.entriesTimeline.getOrderedEntries({
@@ -275,9 +275,15 @@ var VCObserverNew = exports.default = /*#__PURE__*/function () {
275
275
  results.push(fy25_03);
276
276
  }
277
277
 
278
+ // From TTVC v4 onwards, ensuring that SSR entry is always auto-added, whenever it is configured.
279
+ // From the next major version release (where TTVC v4 becomes the default TTVC version), the config for `includeSSRInV3` will be deprecated
280
+ if (param.ssr && !param.includeSSRInV3 && (0, _platformFeatureFlags.fg)('platform_ufo_auto_add_ssr_entry_in_ttvc_v4')) {
281
+ this.addSSR(param.ssr);
282
+ }
283
+
278
284
  // TODO on cleanup: put behind `enabledVCRevisions` config
279
285
  calculator_next = new _vcnext.default();
280
- _context.next = 14;
286
+ _context.next = 15;
281
287
  return calculator_next.calculate({
282
288
  orderedEntries: orderedEntries,
283
289
  startTime: start,
@@ -290,35 +296,35 @@ var VCObserverNew = exports.default = /*#__PURE__*/function () {
290
296
  isPageVisible: isPageVisible,
291
297
  interactionAbortReason: interactionAbortReason
292
298
  });
293
- case 14:
299
+ case 15:
294
300
  vcNext = _context.sent;
295
301
  if (vcNext) {
296
302
  results.push(vcNext);
297
303
  }
298
304
  feVCCalculationEndTime = performance.now();
299
305
  if (!(includeRawData && (0, _platformFeatureFlags.fg)('platform_ufo_enable_vc_raw_data'))) {
300
- _context.next = 24;
306
+ _context.next = 25;
301
307
  break;
302
308
  }
303
309
  rawVCCalculationStartTime = performance.now();
304
310
  rawHandler = new _rawDataHandler.default();
305
- _context.next = 22;
311
+ _context.next = 23;
306
312
  return rawHandler.getRawData({
307
313
  entries: orderedEntries,
308
314
  startTime: start,
309
315
  stopTime: stop,
310
316
  isPageVisible: isPageVisible
311
317
  });
312
- case 22:
318
+ case 23:
313
319
  raw = _context.sent;
314
320
  if (raw) {
315
321
  raw.rawVCTime = Number((performance.now() - rawVCCalculationStartTime).toFixed(2));
316
322
  raw.feVCTime = Number((feVCCalculationEndTime - feVCCalculationStartTime).toFixed(2));
317
323
  results.push(raw);
318
324
  }
319
- case 24:
320
- return _context.abrupt("return", results);
321
325
  case 25:
326
+ return _context.abrupt("return", results);
327
+ case 26:
322
328
  case "end":
323
329
  return _context.stop();
324
330
  }
@@ -13,6 +13,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
13
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
14
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
15
  var _vcUtils = require("../../vc-observer/media-wrapper/vc-utils");
16
+ var _isDndStyleMutation = _interopRequireDefault(require("../../vc-observer/observers/non-visual-styles/is-dnd-style-mutation"));
16
17
  var _isNonVisualStyleMutation = _interopRequireDefault(require("../../vc-observer/observers/non-visual-styles/is-non-visual-style-mutation"));
17
18
  var _rllPlaceholders = require("../../vc-observer/observers/rll-placeholders");
18
19
  var _intersectionObserver = require("./intersection-observer");
@@ -317,6 +318,21 @@ var ViewportObserver = exports.default = /*#__PURE__*/function () {
317
318
  };
318
319
  }
319
320
  }
321
+ if ((0, _isDndStyleMutation.default)({
322
+ target: target,
323
+ attributeName: attributeName,
324
+ oldValue: oldValue,
325
+ newValue: newValue
326
+ })) {
327
+ return {
328
+ type: 'mutation:attribute:non-visual-style',
329
+ mutationData: {
330
+ attributeName: attributeName,
331
+ oldValue: oldValue,
332
+ newValue: newValue
333
+ }
334
+ };
335
+ }
320
336
  if ((0, _isNonVisualStyleMutation.default)({
321
337
  target: target,
322
338
  attributeName: attributeName,
@@ -101,29 +101,30 @@ export class VCObserverWrapper {
101
101
  includeRawData
102
102
  } = param;
103
103
  const v1v2Result = isVCRevisionEnabled('fy25.01', experienceKey) || isVCRevisionEnabled('fy25.02', experienceKey) ? await ((_this$oldVCObserver4 = this.oldVCObserver) === null || _this$oldVCObserver4 === void 0 ? void 0 : _this$oldVCObserver4.getVCResult(param)) : {};
104
- const v3Result = isVCRevisionEnabled('fy25.03', experienceKey) ? await ((_this$newVCObserver3 = this.newVCObserver) === null || _this$newVCObserver3 === void 0 ? void 0 : _this$newVCObserver3.getVCResult({
104
+ const v3v4Result = isVCRevisionEnabled('fy25.03', experienceKey) ? await ((_this$newVCObserver3 = this.newVCObserver) === null || _this$newVCObserver3 === void 0 ? void 0 : _this$newVCObserver3.getVCResult({
105
105
  start: param.start,
106
106
  stop: param.stop,
107
107
  interactionId: param.interactionId,
108
- ssr: param.includeSSRInV3 ? param.ssr : undefined,
108
+ ssr: param.ssr,
109
109
  include3p,
110
110
  excludeSmartAnswersInSearch,
111
111
  includeSSRRatio,
112
112
  interactionType: param.interactionType,
113
113
  isPageVisible: param.isPageVisible,
114
114
  interactionAbortReason: param.interactionAbortReason,
115
- includeRawData
115
+ includeRawData,
116
+ includeSSRInV3: param.includeSSRInV3
116
117
  })) : [];
117
- if (!v3Result) {
118
+ if (!v3v4Result) {
118
119
  return v1v2Result !== null && v1v2Result !== void 0 ? v1v2Result : {};
119
120
  }
120
- const ssrRatio = v3Result[0].ssrRatio;
121
+ const ssrRatio = v3v4Result[0].ssrRatio;
121
122
  return {
122
123
  ...(includeSSRRatio && ssrRatio !== undefined ? {
123
124
  'ufo:vc:ssrRatio': ssrRatio
124
125
  } : {}),
125
126
  ...v1v2Result,
126
- 'ufo:vc:rev': [...((_ref = v1v2Result === null || v1v2Result === void 0 ? void 0 : v1v2Result['ufo:vc:rev']) !== null && _ref !== void 0 ? _ref : []), ...(v3Result !== null && v3Result !== void 0 ? v3Result : [])]
127
+ 'ufo:vc:rev': [...((_ref = v1v2Result === null || v1v2Result === void 0 ? void 0 : v1v2Result['ufo:vc:rev']) !== null && _ref !== void 0 ? _ref : []), ...(v3v4Result !== null && v3v4Result !== void 0 ? v3v4Result : [])]
127
128
  };
128
129
  }
129
130
  setSSRElement(element) {
@@ -209,7 +209,7 @@ export default class VCObserverNew {
209
209
  this.addStartEntry(start);
210
210
  const feVCCalculationStartTime = performance.now();
211
211
  const calculator_fy25_03 = new VCCalculator_FY25_03();
212
- if (param.ssr) {
212
+ if (param.includeSSRInV3 && param.ssr) {
213
213
  this.addSSR(param.ssr);
214
214
  }
215
215
  const orderedEntries = this.entriesTimeline.getOrderedEntries({
@@ -233,6 +233,12 @@ export default class VCObserverNew {
233
233
  results.push(fy25_03);
234
234
  }
235
235
 
236
+ // From TTVC v4 onwards, ensuring that SSR entry is always auto-added, whenever it is configured.
237
+ // From the next major version release (where TTVC v4 becomes the default TTVC version), the config for `includeSSRInV3` will be deprecated
238
+ if (param.ssr && !param.includeSSRInV3 && fg('platform_ufo_auto_add_ssr_entry_in_ttvc_v4')) {
239
+ this.addSSR(param.ssr);
240
+ }
241
+
236
242
  // TODO on cleanup: put behind `enabledVCRevisions` config
237
243
  const calculator_next = new VCNextCalculator();
238
244
  const vcNext = await calculator_next.calculate({
@@ -1,6 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { fg } from '@atlaskit/platform-feature-flags';
3
3
  import { isContainedWithinMediaWrapper } from '../../vc-observer/media-wrapper/vc-utils';
4
+ import isDnDStyleMutation from '../../vc-observer/observers/non-visual-styles/is-dnd-style-mutation';
4
5
  import isNonVisualStyleMutation from '../../vc-observer/observers/non-visual-styles/is-non-visual-style-mutation';
5
6
  import { RLLPlaceholderHandlers } from '../../vc-observer/observers/rll-placeholders';
6
7
  import { createIntersectionObserver } from './intersection-observer';
@@ -210,6 +211,21 @@ export default class ViewportObserver {
210
211
  };
211
212
  }
212
213
  }
214
+ if (isDnDStyleMutation({
215
+ target,
216
+ attributeName,
217
+ oldValue,
218
+ newValue
219
+ })) {
220
+ return {
221
+ type: 'mutation:attribute:non-visual-style',
222
+ mutationData: {
223
+ attributeName,
224
+ oldValue,
225
+ newValue
226
+ }
227
+ };
228
+ }
213
229
  if (isNonVisualStyleMutation({
214
230
  target,
215
231
  attributeName,
@@ -112,7 +112,7 @@ export var VCObserverWrapper = /*#__PURE__*/function () {
112
112
  value: function () {
113
113
  var _getVCResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(param) {
114
114
  var _this$oldVCObserver4, _this$newVCObserver3, _ref2;
115
- var experienceKey, include3p, excludeSmartAnswersInSearch, includeSSRRatio, includeRawData, v1v2Result, v3Result, ssrRatio;
115
+ var experienceKey, include3p, excludeSmartAnswersInSearch, includeSSRRatio, includeRawData, v1v2Result, v3v4Result, ssrRatio;
116
116
  return _regeneratorRuntime.wrap(function _callee$(_context) {
117
117
  while (1) switch (_context.prev = _context.next) {
118
118
  case 0:
@@ -140,14 +140,15 @@ export var VCObserverWrapper = /*#__PURE__*/function () {
140
140
  start: param.start,
141
141
  stop: param.stop,
142
142
  interactionId: param.interactionId,
143
- ssr: param.includeSSRInV3 ? param.ssr : undefined,
143
+ ssr: param.ssr,
144
144
  include3p: include3p,
145
145
  excludeSmartAnswersInSearch: excludeSmartAnswersInSearch,
146
146
  includeSSRRatio: includeSSRRatio,
147
147
  interactionType: param.interactionType,
148
148
  isPageVisible: param.isPageVisible,
149
149
  interactionAbortReason: param.interactionAbortReason,
150
- includeRawData: includeRawData
150
+ includeRawData: includeRawData,
151
+ includeSSRInV3: param.includeSSRInV3
151
152
  });
152
153
  case 12:
153
154
  _context.t1 = _context.sent;
@@ -156,18 +157,18 @@ export var VCObserverWrapper = /*#__PURE__*/function () {
156
157
  case 15:
157
158
  _context.t1 = [];
158
159
  case 16:
159
- v3Result = _context.t1;
160
- if (v3Result) {
160
+ v3v4Result = _context.t1;
161
+ if (v3v4Result) {
161
162
  _context.next = 19;
162
163
  break;
163
164
  }
164
165
  return _context.abrupt("return", v1v2Result !== null && v1v2Result !== void 0 ? v1v2Result : {});
165
166
  case 19:
166
- ssrRatio = v3Result[0].ssrRatio;
167
+ ssrRatio = v3v4Result[0].ssrRatio;
167
168
  return _context.abrupt("return", _objectSpread(_objectSpread(_objectSpread({}, includeSSRRatio && ssrRatio !== undefined ? {
168
169
  'ufo:vc:ssrRatio': ssrRatio
169
170
  } : {}), v1v2Result), {}, {
170
- 'ufo:vc:rev': [].concat(_toConsumableArray((_ref2 = v1v2Result === null || v1v2Result === void 0 ? void 0 : v1v2Result['ufo:vc:rev']) !== null && _ref2 !== void 0 ? _ref2 : []), _toConsumableArray(v3Result !== null && v3Result !== void 0 ? v3Result : []))
171
+ 'ufo:vc:rev': [].concat(_toConsumableArray((_ref2 = v1v2Result === null || v1v2Result === void 0 ? void 0 : v1v2Result['ufo:vc:rev']) !== null && _ref2 !== void 0 ? _ref2 : []), _toConsumableArray(v3v4Result !== null && v3v4Result !== void 0 ? v3v4Result : []))
171
172
  }));
172
173
  case 21:
173
174
  case "end":
@@ -241,7 +241,7 @@ var VCObserverNew = /*#__PURE__*/function () {
241
241
  this.addStartEntry(start);
242
242
  feVCCalculationStartTime = performance.now();
243
243
  calculator_fy25_03 = new VCCalculator_FY25_03();
244
- if (param.ssr) {
244
+ if (param.includeSSRInV3 && param.ssr) {
245
245
  this.addSSR(param.ssr);
246
246
  }
247
247
  orderedEntries = this.entriesTimeline.getOrderedEntries({
@@ -268,9 +268,15 @@ var VCObserverNew = /*#__PURE__*/function () {
268
268
  results.push(fy25_03);
269
269
  }
270
270
 
271
+ // From TTVC v4 onwards, ensuring that SSR entry is always auto-added, whenever it is configured.
272
+ // From the next major version release (where TTVC v4 becomes the default TTVC version), the config for `includeSSRInV3` will be deprecated
273
+ if (param.ssr && !param.includeSSRInV3 && fg('platform_ufo_auto_add_ssr_entry_in_ttvc_v4')) {
274
+ this.addSSR(param.ssr);
275
+ }
276
+
271
277
  // TODO on cleanup: put behind `enabledVCRevisions` config
272
278
  calculator_next = new VCNextCalculator();
273
- _context.next = 14;
279
+ _context.next = 15;
274
280
  return calculator_next.calculate({
275
281
  orderedEntries: orderedEntries,
276
282
  startTime: start,
@@ -283,35 +289,35 @@ var VCObserverNew = /*#__PURE__*/function () {
283
289
  isPageVisible: isPageVisible,
284
290
  interactionAbortReason: interactionAbortReason
285
291
  });
286
- case 14:
292
+ case 15:
287
293
  vcNext = _context.sent;
288
294
  if (vcNext) {
289
295
  results.push(vcNext);
290
296
  }
291
297
  feVCCalculationEndTime = performance.now();
292
298
  if (!(includeRawData && fg('platform_ufo_enable_vc_raw_data'))) {
293
- _context.next = 24;
299
+ _context.next = 25;
294
300
  break;
295
301
  }
296
302
  rawVCCalculationStartTime = performance.now();
297
303
  rawHandler = new RawDataHandler();
298
- _context.next = 22;
304
+ _context.next = 23;
299
305
  return rawHandler.getRawData({
300
306
  entries: orderedEntries,
301
307
  startTime: start,
302
308
  stopTime: stop,
303
309
  isPageVisible: isPageVisible
304
310
  });
305
- case 22:
311
+ case 23:
306
312
  raw = _context.sent;
307
313
  if (raw) {
308
314
  raw.rawVCTime = Number((performance.now() - rawVCCalculationStartTime).toFixed(2));
309
315
  raw.feVCTime = Number((feVCCalculationEndTime - feVCCalculationStartTime).toFixed(2));
310
316
  results.push(raw);
311
317
  }
312
- case 24:
313
- return _context.abrupt("return", results);
314
318
  case 25:
319
+ return _context.abrupt("return", results);
320
+ case 26:
315
321
  case "end":
316
322
  return _context.stop();
317
323
  }
@@ -8,6 +8,7 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
8
8
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9
9
  import { fg } from '@atlaskit/platform-feature-flags';
10
10
  import { isContainedWithinMediaWrapper } from '../../vc-observer/media-wrapper/vc-utils';
11
+ import isDnDStyleMutation from '../../vc-observer/observers/non-visual-styles/is-dnd-style-mutation';
11
12
  import isNonVisualStyleMutation from '../../vc-observer/observers/non-visual-styles/is-non-visual-style-mutation';
12
13
  import { RLLPlaceholderHandlers } from '../../vc-observer/observers/rll-placeholders';
13
14
  import { createIntersectionObserver } from './intersection-observer';
@@ -308,6 +309,21 @@ var ViewportObserver = /*#__PURE__*/function () {
308
309
  };
309
310
  }
310
311
  }
312
+ if (isDnDStyleMutation({
313
+ target: target,
314
+ attributeName: attributeName,
315
+ oldValue: oldValue,
316
+ newValue: newValue
317
+ })) {
318
+ return {
319
+ type: 'mutation:attribute:non-visual-style',
320
+ mutationData: {
321
+ attributeName: attributeName,
322
+ oldValue: oldValue,
323
+ newValue: newValue
324
+ }
325
+ };
326
+ }
311
327
  if (isNonVisualStyleMutation({
312
328
  target: target,
313
329
  attributeName: attributeName,
@@ -37,4 +37,5 @@ export type VCObserverGetVCResultParam = {
37
37
  isPageVisible: boolean;
38
38
  interactionAbortReason?: AbortReasonType;
39
39
  includeRawData?: boolean;
40
+ includeSSRInV3?: boolean;
40
41
  };
@@ -37,4 +37,5 @@ export type VCObserverGetVCResultParam = {
37
37
  isPageVisible: boolean;
38
38
  interactionAbortReason?: AbortReasonType;
39
39
  includeRawData?: boolean;
40
+ includeSSRInV3?: boolean;
40
41
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/react-ufo",
3
- "version": "4.14.5",
3
+ "version": "4.14.7",
4
4
  "description": "Parts of React UFO that are publicly available",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -110,9 +110,6 @@
110
110
  "platform_ufo_remove_ssr_placeholder_in_ttvc_v4": {
111
111
  "type": "boolean"
112
112
  },
113
- "platform_ufo_enable_interactivity_jsm": {
114
- "type": "boolean"
115
- },
116
113
  "platform_ufo_exclude_3p_elements_from_ttai": {
117
114
  "type": "boolean"
118
115
  },
@@ -170,6 +167,9 @@
170
167
  "platform_ufo_exclude_3p_attribute_changes": {
171
168
  "type": "boolean"
172
169
  },
170
+ "platform_ufo_auto_add_ssr_entry_in_ttvc_v4": {
171
+ "type": "boolean"
172
+ },
173
173
  "platform_ufo_enable_vc_raw_data": {
174
174
  "type": "boolean"
175
175
  },