@atlaskit/react-ufo 4.1.4 → 4.1.6
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/vc/vc-observer/getVCRevisionsData.js +2 -3
- package/dist/cjs/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +1 -4
- package/dist/cjs/vc/vc-observer-new/viewport-observer/utils/check-within-component-and-extract-child-props.js +4 -1
- package/dist/es2019/vc/vc-observer/getVCRevisionsData.js +2 -3
- package/dist/es2019/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +1 -4
- package/dist/es2019/vc/vc-observer-new/viewport-observer/utils/check-within-component-and-extract-child-props.js +4 -2
- package/dist/esm/vc/vc-observer/getVCRevisionsData.js +2 -3
- package/dist/esm/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +1 -4
- package/dist/esm/vc/vc-observer-new/viewport-observer/utils/check-within-component-and-extract-child-props.js +4 -2
- package/package.json +1 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/ufo-interaction-ignore
|
|
2
2
|
|
|
3
|
+
## 4.1.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#192382](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/192382)
|
|
8
|
+
[`5f4f054f58647`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/5f4f054f58647) -
|
|
9
|
+
Add hard limit for findReactFiber
|
|
10
|
+
|
|
11
|
+
## 4.1.5
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#191818](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/191818)
|
|
16
|
+
[`f8f8080d07991`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f8f8080d07991) -
|
|
17
|
+
clean up ff platform_ufo_rev_ratios
|
|
18
|
+
|
|
3
19
|
## 4.1.4
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.getVCRevisionsData = getVCRevisionsData;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
10
9
|
var _config = require("../../config");
|
|
11
10
|
var _hiddenTiming = require("../../hidden-timing");
|
|
12
11
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
@@ -64,7 +63,7 @@ function getVCRevisionsData(_ref) {
|
|
|
64
63
|
'metric:vc90': shouldHaveVCmetric ? calculatedVC.VC['90'] : null,
|
|
65
64
|
vcDetails: createVCDetails(calculatedVC, shouldHaveVCmetric)
|
|
66
65
|
};
|
|
67
|
-
if (shouldHaveVCmetric
|
|
66
|
+
if (shouldHaveVCmetric) {
|
|
68
67
|
revision.ratios = ratios;
|
|
69
68
|
}
|
|
70
69
|
availableVCRevisionPayloads.push(revision);
|
|
@@ -76,7 +75,7 @@ function getVCRevisionsData(_ref) {
|
|
|
76
75
|
'metric:vc90': shouldHaveVCmetric ? calculatedVCNext.VC['90'] : null,
|
|
77
76
|
vcDetails: createVCDetails(calculatedVCNext, shouldHaveVCmetric)
|
|
78
77
|
};
|
|
79
|
-
if (shouldHaveVCmetric
|
|
78
|
+
if (shouldHaveVCmetric) {
|
|
80
79
|
_revision.ratios = ratios;
|
|
81
80
|
}
|
|
82
81
|
availableVCRevisionPayloads.push(_revision);
|
|
@@ -12,7 +12,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
13
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
14
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
16
15
|
var _percentileCalc = require("./percentile-calc");
|
|
17
16
|
var _getViewportHeight = _interopRequireDefault(require("./utils/get-viewport-height"));
|
|
18
17
|
var _getViewportWidth = _interopRequireDefault(require("./utils/get-viewport-width"));
|
|
@@ -351,9 +350,7 @@ var AbstractVCCalculatorBase = exports.default = /*#__PURE__*/function () {
|
|
|
351
350
|
'metric:vc90': (_vcDetails$90$t = vcDetails === null || vcDetails === void 0 || (_vcDetails$ = vcDetails['90']) === null || _vcDetails$ === void 0 ? void 0 : _vcDetails$.t) !== null && _vcDetails$90$t !== void 0 ? _vcDetails$90$t : null,
|
|
352
351
|
vcDetails: vcDetails !== null && vcDetails !== void 0 ? vcDetails : undefined
|
|
353
352
|
};
|
|
354
|
-
|
|
355
|
-
result.ratios = this.calculateRatios(filteredEntries);
|
|
356
|
-
}
|
|
353
|
+
result.ratios = this.calculateRatios(filteredEntries);
|
|
357
354
|
return _context2.abrupt("return", result);
|
|
358
355
|
case 13:
|
|
359
356
|
case "end":
|
|
@@ -11,6 +11,7 @@ var _findReactFiber = _interopRequireDefault(require("./find-react-fiber"));
|
|
|
11
11
|
var _getComponentName = _interopRequireDefault(require("./get-component-name"));
|
|
12
12
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
13
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
var DEFAULT_MAX_LEVEL = 20;
|
|
14
15
|
// Using the React Fiber tree to traverse up the DOM and check if a node is within a specific component
|
|
15
16
|
// and extract child component props if needed.
|
|
16
17
|
function checkWithinComponentAndExtractChildProps(node, targetComponentName, childComponentConfig) {
|
|
@@ -18,11 +19,13 @@ function checkWithinComponentAndExtractChildProps(node, targetComponentName, chi
|
|
|
18
19
|
if ((0, _platformFeatureFlags.fg)('platform_ufo_handle_non_react_element_for_3p')) {
|
|
19
20
|
// Walk up the DOM tree to find React fiber (handles non-React-rendered elements)
|
|
20
21
|
var currentElement = node;
|
|
21
|
-
|
|
22
|
+
var levelsTraversed = 0;
|
|
23
|
+
while (currentElement && !fiber && levelsTraversed < DEFAULT_MAX_LEVEL) {
|
|
22
24
|
fiber = (0, _findReactFiber.default)(currentElement);
|
|
23
25
|
if (!fiber) {
|
|
24
26
|
currentElement = currentElement.parentElement;
|
|
25
27
|
}
|
|
28
|
+
levelsTraversed++;
|
|
26
29
|
}
|
|
27
30
|
} else {
|
|
28
31
|
fiber = (0, _findReactFiber.default)(node);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
1
|
import { isVCRevisionEnabled } from '../../config';
|
|
3
2
|
import { getPageVisibilityState } from '../../hidden-timing';
|
|
4
3
|
const VCParts = ['25', '50', '75', '80', '85', '90', '95', '98', '99'];
|
|
@@ -48,7 +47,7 @@ export function getVCRevisionsData({
|
|
|
48
47
|
'metric:vc90': shouldHaveVCmetric ? calculatedVC.VC['90'] : null,
|
|
49
48
|
vcDetails: createVCDetails(calculatedVC, shouldHaveVCmetric)
|
|
50
49
|
};
|
|
51
|
-
if (shouldHaveVCmetric
|
|
50
|
+
if (shouldHaveVCmetric) {
|
|
52
51
|
revision.ratios = ratios;
|
|
53
52
|
}
|
|
54
53
|
availableVCRevisionPayloads.push(revision);
|
|
@@ -60,7 +59,7 @@ export function getVCRevisionsData({
|
|
|
60
59
|
'metric:vc90': shouldHaveVCmetric ? calculatedVCNext.VC['90'] : null,
|
|
61
60
|
vcDetails: createVCDetails(calculatedVCNext, shouldHaveVCmetric)
|
|
62
61
|
};
|
|
63
|
-
if (shouldHaveVCmetric
|
|
62
|
+
if (shouldHaveVCmetric) {
|
|
64
63
|
revision.ratios = ratios;
|
|
65
64
|
}
|
|
66
65
|
availableVCRevisionPayloads.push(revision);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
1
|
import { calculateTTVCPercentilesWithDebugInfo } from './percentile-calc';
|
|
3
2
|
import getViewportHeight from './utils/get-viewport-height';
|
|
4
3
|
import getViewportWidth from './utils/get-viewport-width';
|
|
@@ -241,9 +240,7 @@ export default class AbstractVCCalculatorBase {
|
|
|
241
240
|
'metric:vc90': (_vcDetails$90$t = vcDetails === null || vcDetails === void 0 ? void 0 : (_vcDetails$ = vcDetails['90']) === null || _vcDetails$ === void 0 ? void 0 : _vcDetails$.t) !== null && _vcDetails$90$t !== void 0 ? _vcDetails$90$t : null,
|
|
242
241
|
vcDetails: vcDetails !== null && vcDetails !== void 0 ? vcDetails : undefined
|
|
243
242
|
};
|
|
244
|
-
|
|
245
|
-
result.ratios = this.calculateRatios(filteredEntries);
|
|
246
|
-
}
|
|
243
|
+
result.ratios = this.calculateRatios(filteredEntries);
|
|
247
244
|
return result;
|
|
248
245
|
}
|
|
249
246
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
2
|
import findReactFiber from './find-react-fiber';
|
|
3
3
|
import getComponentName from './get-component-name';
|
|
4
|
-
|
|
4
|
+
const DEFAULT_MAX_LEVEL = 20;
|
|
5
5
|
// Using the React Fiber tree to traverse up the DOM and check if a node is within a specific component
|
|
6
6
|
// and extract child component props if needed.
|
|
7
7
|
export default function checkWithinComponentAndExtractChildProps(node, targetComponentName, childComponentConfig) {
|
|
@@ -9,11 +9,13 @@ export default function checkWithinComponentAndExtractChildProps(node, targetCom
|
|
|
9
9
|
if (fg('platform_ufo_handle_non_react_element_for_3p')) {
|
|
10
10
|
// Walk up the DOM tree to find React fiber (handles non-React-rendered elements)
|
|
11
11
|
let currentElement = node;
|
|
12
|
-
|
|
12
|
+
let levelsTraversed = 0;
|
|
13
|
+
while (currentElement && !fiber && levelsTraversed < DEFAULT_MAX_LEVEL) {
|
|
13
14
|
fiber = findReactFiber(currentElement);
|
|
14
15
|
if (!fiber) {
|
|
15
16
|
currentElement = currentElement.parentElement;
|
|
16
17
|
}
|
|
18
|
+
levelsTraversed++;
|
|
17
19
|
}
|
|
18
20
|
} else {
|
|
19
21
|
fiber = findReactFiber(node);
|
|
@@ -2,7 +2,6 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
3
3
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
4
|
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; }
|
|
5
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
5
|
import { isVCRevisionEnabled } from '../../config';
|
|
7
6
|
import { getPageVisibilityState } from '../../hidden-timing';
|
|
8
7
|
var VCParts = ['25', '50', '75', '80', '85', '90', '95', '98', '99'];
|
|
@@ -57,7 +56,7 @@ export function getVCRevisionsData(_ref) {
|
|
|
57
56
|
'metric:vc90': shouldHaveVCmetric ? calculatedVC.VC['90'] : null,
|
|
58
57
|
vcDetails: createVCDetails(calculatedVC, shouldHaveVCmetric)
|
|
59
58
|
};
|
|
60
|
-
if (shouldHaveVCmetric
|
|
59
|
+
if (shouldHaveVCmetric) {
|
|
61
60
|
revision.ratios = ratios;
|
|
62
61
|
}
|
|
63
62
|
availableVCRevisionPayloads.push(revision);
|
|
@@ -69,7 +68,7 @@ export function getVCRevisionsData(_ref) {
|
|
|
69
68
|
'metric:vc90': shouldHaveVCmetric ? calculatedVCNext.VC['90'] : null,
|
|
70
69
|
vcDetails: createVCDetails(calculatedVCNext, shouldHaveVCmetric)
|
|
71
70
|
};
|
|
72
|
-
if (shouldHaveVCmetric
|
|
71
|
+
if (shouldHaveVCmetric) {
|
|
73
72
|
_revision.ratios = ratios;
|
|
74
73
|
}
|
|
75
74
|
availableVCRevisionPayloads.push(_revision);
|
|
@@ -10,7 +10,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
10
10
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
11
11
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
12
12
|
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; }
|
|
13
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
14
13
|
import { calculateTTVCPercentilesWithDebugInfo } from './percentile-calc';
|
|
15
14
|
import getViewportHeight from './utils/get-viewport-height';
|
|
16
15
|
import getViewportWidth from './utils/get-viewport-width';
|
|
@@ -345,9 +344,7 @@ var AbstractVCCalculatorBase = /*#__PURE__*/function () {
|
|
|
345
344
|
'metric:vc90': (_vcDetails$90$t = vcDetails === null || vcDetails === void 0 || (_vcDetails$ = vcDetails['90']) === null || _vcDetails$ === void 0 ? void 0 : _vcDetails$.t) !== null && _vcDetails$90$t !== void 0 ? _vcDetails$90$t : null,
|
|
346
345
|
vcDetails: vcDetails !== null && vcDetails !== void 0 ? vcDetails : undefined
|
|
347
346
|
};
|
|
348
|
-
|
|
349
|
-
result.ratios = this.calculateRatios(filteredEntries);
|
|
350
|
-
}
|
|
347
|
+
result.ratios = this.calculateRatios(filteredEntries);
|
|
351
348
|
return _context2.abrupt("return", result);
|
|
352
349
|
case 13:
|
|
353
350
|
case "end":
|
|
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
5
5
|
import findReactFiber from './find-react-fiber';
|
|
6
6
|
import getComponentName from './get-component-name';
|
|
7
|
-
|
|
7
|
+
var DEFAULT_MAX_LEVEL = 20;
|
|
8
8
|
// Using the React Fiber tree to traverse up the DOM and check if a node is within a specific component
|
|
9
9
|
// and extract child component props if needed.
|
|
10
10
|
export default function checkWithinComponentAndExtractChildProps(node, targetComponentName, childComponentConfig) {
|
|
@@ -12,11 +12,13 @@ export default function checkWithinComponentAndExtractChildProps(node, targetCom
|
|
|
12
12
|
if (fg('platform_ufo_handle_non_react_element_for_3p')) {
|
|
13
13
|
// Walk up the DOM tree to find React fiber (handles non-React-rendered elements)
|
|
14
14
|
var currentElement = node;
|
|
15
|
-
|
|
15
|
+
var levelsTraversed = 0;
|
|
16
|
+
while (currentElement && !fiber && levelsTraversed < DEFAULT_MAX_LEVEL) {
|
|
16
17
|
fiber = findReactFiber(currentElement);
|
|
17
18
|
if (!fiber) {
|
|
18
19
|
currentElement = currentElement.parentElement;
|
|
19
20
|
}
|
|
21
|
+
levelsTraversed++;
|
|
20
22
|
}
|
|
21
23
|
} else {
|
|
22
24
|
fiber = findReactFiber(node);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/react-ufo",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.6",
|
|
4
4
|
"description": "Parts of React UFO that are publicly available",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -159,9 +159,6 @@
|
|
|
159
159
|
"platform_ufo_enable_events_observer": {
|
|
160
160
|
"type": "boolean"
|
|
161
161
|
},
|
|
162
|
-
"platform_ufo_rev_ratios": {
|
|
163
|
-
"type": "boolean"
|
|
164
|
-
},
|
|
165
162
|
"platform_ufo_ssr_size_field": {
|
|
166
163
|
"type": "boolean"
|
|
167
164
|
},
|