@atlaskit/react-ufo 4.1.12 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/cjs/create-payload/index.js +22 -4
- package/dist/cjs/create-payload/utils/add-performance-measures.js +62 -0
- package/dist/cjs/interaction-metrics/index.js +26 -2
- package/dist/cjs/interaction-metrics-init/index.js +1 -2
- package/dist/cjs/vc/index.js +7 -59
- package/dist/cjs/vc/vc-observer/index.js +1 -3
- package/dist/cjs/vc/vc-observer/observers/index.js +2 -3
- package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +3 -13
- package/dist/cjs/vc/vc-observer-new/index.js +2 -6
- package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +8 -14
- package/dist/cjs/vc/vc-observer-new/viewport-observer/utils/check-fiber-within-component.js +25 -0
- package/dist/cjs/vc/vc-observer-new/viewport-observer/utils/check-within-component.js +63 -0
- package/dist/cjs/vc/vc-observer-new/viewport-observer/utils/find-fiber-with-cache.js +28 -0
- package/dist/es2019/create-payload/index.js +21 -3
- package/dist/es2019/create-payload/utils/add-performance-measures.js +54 -0
- package/dist/es2019/interaction-metrics/index.js +26 -2
- package/dist/es2019/interaction-metrics-init/index.js +1 -2
- package/dist/es2019/vc/index.js +4 -54
- package/dist/es2019/vc/vc-observer/index.js +1 -3
- package/dist/es2019/vc/vc-observer/observers/index.js +2 -3
- package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +3 -12
- package/dist/es2019/vc/vc-observer-new/index.js +2 -6
- package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +6 -15
- package/dist/es2019/vc/vc-observer-new/viewport-observer/utils/check-fiber-within-component.js +19 -0
- package/dist/es2019/vc/vc-observer-new/viewport-observer/utils/check-within-component.js +55 -0
- package/dist/es2019/vc/vc-observer-new/viewport-observer/utils/find-fiber-with-cache.js +21 -0
- package/dist/esm/create-payload/index.js +22 -4
- package/dist/esm/create-payload/utils/add-performance-measures.js +56 -0
- package/dist/esm/interaction-metrics/index.js +26 -2
- package/dist/esm/interaction-metrics-init/index.js +1 -2
- package/dist/esm/vc/index.js +7 -59
- package/dist/esm/vc/vc-observer/index.js +1 -3
- package/dist/esm/vc/vc-observer/observers/index.js +2 -3
- package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +3 -13
- package/dist/esm/vc/vc-observer-new/index.js +2 -6
- package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +6 -14
- package/dist/esm/vc/vc-observer-new/viewport-observer/utils/check-fiber-within-component.js +19 -0
- package/dist/esm/vc/vc-observer-new/viewport-observer/utils/check-within-component.js +55 -0
- package/dist/esm/vc/vc-observer-new/viewport-observer/utils/find-fiber-with-cache.js +21 -0
- package/dist/types/config/index.d.ts +0 -4
- package/dist/types/create-payload/utils/add-performance-measures.d.ts +2 -0
- package/dist/types/ssr/index.d.ts +7 -1
- package/dist/types/vc/index.d.ts +0 -1
- package/dist/types/vc/types.d.ts +0 -4
- package/dist/types/vc/vc-observer/observers/index.d.ts +0 -4
- package/dist/types/vc/vc-observer/observers/ssr-placeholders/index.d.ts +1 -7
- package/dist/types/vc/vc-observer-new/index.d.ts +0 -4
- package/dist/types/vc/vc-observer-new/viewport-observer/index.d.ts +1 -0
- package/dist/types/vc/vc-observer-new/viewport-observer/utils/check-fiber-within-component.d.ts +1 -0
- package/dist/types/vc/vc-observer-new/viewport-observer/utils/check-within-component.d.ts +4 -0
- package/dist/types/vc/vc-observer-new/viewport-observer/utils/find-fiber-with-cache.d.ts +1 -0
- package/dist/types-ts4.5/config/index.d.ts +0 -4
- package/dist/types-ts4.5/create-payload/utils/add-performance-measures.d.ts +2 -0
- package/dist/types-ts4.5/ssr/index.d.ts +7 -1
- package/dist/types-ts4.5/vc/index.d.ts +0 -1
- package/dist/types-ts4.5/vc/types.d.ts +0 -4
- package/dist/types-ts4.5/vc/vc-observer/observers/index.d.ts +0 -4
- package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/index.d.ts +1 -7
- package/dist/types-ts4.5/vc/vc-observer-new/index.d.ts +0 -4
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/index.d.ts +1 -0
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/utils/check-fiber-within-component.d.ts +1 -0
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/utils/check-within-component.d.ts +4 -0
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/utils/find-fiber-with-cache.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/vc/vc-observer-new/viewport-observer/utils/check-within-component-and-extract-child-props.js +0 -69
- package/dist/es2019/vc/vc-observer-new/viewport-observer/utils/check-within-component-and-extract-child-props.js +0 -60
- package/dist/esm/vc/vc-observer-new/viewport-observer/utils/check-within-component-and-extract-child-props.js +0 -62
- package/dist/types/vc/vc-observer-new/viewport-observer/utils/check-within-component-and-extract-child-props.d.ts +0 -8
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/utils/check-within-component-and-extract-child-props.d.ts +0 -8
|
@@ -4,13 +4,8 @@ type Rect = {
|
|
|
4
4
|
width: number;
|
|
5
5
|
height: number;
|
|
6
6
|
};
|
|
7
|
-
type DisableSizeAndPositionCheckType = {
|
|
8
|
-
v: boolean;
|
|
9
|
-
h: boolean;
|
|
10
|
-
};
|
|
11
7
|
type SSRPlaceholderHandlersConfig = {
|
|
12
8
|
enablePageLayoutPlaceholder?: boolean;
|
|
13
|
-
disableSizeAndPositionCheck?: DisableSizeAndPositionCheckType;
|
|
14
9
|
};
|
|
15
10
|
export declare class SSRPlaceholderHandlers {
|
|
16
11
|
private staticPlaceholders;
|
|
@@ -20,8 +15,7 @@ export declare class SSRPlaceholderHandlers {
|
|
|
20
15
|
private intersectionObserver;
|
|
21
16
|
private EQUALITY_THRESHOLD;
|
|
22
17
|
private enablePageLayoutPlaceholder;
|
|
23
|
-
|
|
24
|
-
constructor({ enablePageLayoutPlaceholder, disableSizeAndPositionCheck, }: SSRPlaceholderHandlersConfig);
|
|
18
|
+
constructor({ enablePageLayoutPlaceholder, }: SSRPlaceholderHandlersConfig);
|
|
25
19
|
private getPlaceholderId;
|
|
26
20
|
private getPlaceholderReplacementId;
|
|
27
21
|
clear(): void;
|
|
@@ -7,10 +7,6 @@ export type VCObserverNewConfig = {
|
|
|
7
7
|
isPostInteraction?: boolean;
|
|
8
8
|
SSRConfig?: {
|
|
9
9
|
enablePageLayoutPlaceholder?: boolean;
|
|
10
|
-
disableSizeAndPositionCheck?: {
|
|
11
|
-
v: boolean;
|
|
12
|
-
h: boolean;
|
|
13
|
-
};
|
|
14
10
|
};
|
|
15
11
|
ssrPlaceholderHandler?: SSRPlaceholderHandlers | null;
|
|
16
12
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function checkFiberWithinComponent(fiber: any, targetComponentName: string, maxLevel: number): boolean;
|
package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/utils/find-fiber-with-cache.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function findFiberWithCache(element: HTMLElement, maxLevel: number, checkedNodes: HTMLElement[]): any | null;
|
package/package.json
CHANGED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = checkWithinComponentAndExtractChildProps;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
10
|
-
var _findReactFiber = _interopRequireDefault(require("./find-react-fiber"));
|
|
11
|
-
var _getComponentName = _interopRequireDefault(require("./get-component-name"));
|
|
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
|
-
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;
|
|
15
|
-
// Using the React Fiber tree to traverse up the DOM and check if a node is within a specific component
|
|
16
|
-
// and extract child component props if needed.
|
|
17
|
-
function checkWithinComponentAndExtractChildProps(node, targetComponentName, childComponentConfig) {
|
|
18
|
-
var fiber = null;
|
|
19
|
-
if ((0, _platformFeatureFlags.fg)('platform_ufo_handle_non_react_element_for_3p')) {
|
|
20
|
-
// Walk up the DOM tree to find React fiber (handles non-React-rendered elements)
|
|
21
|
-
var currentElement = node;
|
|
22
|
-
var levelsTraversed = 0;
|
|
23
|
-
while (currentElement && !fiber && levelsTraversed < DEFAULT_MAX_LEVEL) {
|
|
24
|
-
fiber = (0, _findReactFiber.default)(currentElement);
|
|
25
|
-
if (!fiber) {
|
|
26
|
-
currentElement = currentElement.parentElement;
|
|
27
|
-
}
|
|
28
|
-
levelsTraversed++;
|
|
29
|
-
}
|
|
30
|
-
} else {
|
|
31
|
-
fiber = (0, _findReactFiber.default)(node);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// If no React fiber found, return false
|
|
35
|
-
if (!fiber) {
|
|
36
|
-
return {
|
|
37
|
-
isWithin: false
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// Traverse up the fiber tree
|
|
42
|
-
var currentFiber = fiber;
|
|
43
|
-
var childProp;
|
|
44
|
-
while (currentFiber) {
|
|
45
|
-
var componentName = (0, _getComponentName.default)(currentFiber);
|
|
46
|
-
|
|
47
|
-
// Check if this is a child component we're looking for
|
|
48
|
-
if (childComponentConfig && componentName === childComponentConfig.componentName) {
|
|
49
|
-
var props = currentFiber.memoizedProps || currentFiber.pendingProps;
|
|
50
|
-
if (props && props[childComponentConfig.propName] !== undefined) {
|
|
51
|
-
// Overwrite with the nearest child prop (closest to the target component)
|
|
52
|
-
childProp = childComponentConfig.extractValue ? childComponentConfig.extractValue(props) : props[childComponentConfig.propName];
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// Check if we found the target component
|
|
57
|
-
if (componentName === targetComponentName) {
|
|
58
|
-
return _objectSpread({
|
|
59
|
-
isWithin: true
|
|
60
|
-
}, childComponentConfig && {
|
|
61
|
-
childProp: childProp
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
currentFiber = currentFiber.return;
|
|
65
|
-
}
|
|
66
|
-
return {
|
|
67
|
-
isWithin: false
|
|
68
|
-
};
|
|
69
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
|
-
import findReactFiber from './find-react-fiber';
|
|
3
|
-
import getComponentName from './get-component-name';
|
|
4
|
-
const DEFAULT_MAX_LEVEL = 20;
|
|
5
|
-
// Using the React Fiber tree to traverse up the DOM and check if a node is within a specific component
|
|
6
|
-
// and extract child component props if needed.
|
|
7
|
-
export default function checkWithinComponentAndExtractChildProps(node, targetComponentName, childComponentConfig) {
|
|
8
|
-
let fiber = null;
|
|
9
|
-
if (fg('platform_ufo_handle_non_react_element_for_3p')) {
|
|
10
|
-
// Walk up the DOM tree to find React fiber (handles non-React-rendered elements)
|
|
11
|
-
let currentElement = node;
|
|
12
|
-
let levelsTraversed = 0;
|
|
13
|
-
while (currentElement && !fiber && levelsTraversed < DEFAULT_MAX_LEVEL) {
|
|
14
|
-
fiber = findReactFiber(currentElement);
|
|
15
|
-
if (!fiber) {
|
|
16
|
-
currentElement = currentElement.parentElement;
|
|
17
|
-
}
|
|
18
|
-
levelsTraversed++;
|
|
19
|
-
}
|
|
20
|
-
} else {
|
|
21
|
-
fiber = findReactFiber(node);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// If no React fiber found, return false
|
|
25
|
-
if (!fiber) {
|
|
26
|
-
return {
|
|
27
|
-
isWithin: false
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Traverse up the fiber tree
|
|
32
|
-
let currentFiber = fiber;
|
|
33
|
-
let childProp;
|
|
34
|
-
while (currentFiber) {
|
|
35
|
-
const componentName = getComponentName(currentFiber);
|
|
36
|
-
|
|
37
|
-
// Check if this is a child component we're looking for
|
|
38
|
-
if (childComponentConfig && componentName === childComponentConfig.componentName) {
|
|
39
|
-
const props = currentFiber.memoizedProps || currentFiber.pendingProps;
|
|
40
|
-
if (props && props[childComponentConfig.propName] !== undefined) {
|
|
41
|
-
// Overwrite with the nearest child prop (closest to the target component)
|
|
42
|
-
childProp = childComponentConfig.extractValue ? childComponentConfig.extractValue(props) : props[childComponentConfig.propName];
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// Check if we found the target component
|
|
47
|
-
if (componentName === targetComponentName) {
|
|
48
|
-
return {
|
|
49
|
-
isWithin: true,
|
|
50
|
-
...(childComponentConfig && {
|
|
51
|
-
childProp: childProp
|
|
52
|
-
})
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
currentFiber = currentFiber.return;
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
isWithin: false
|
|
59
|
-
};
|
|
60
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
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; }
|
|
3
|
-
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) { _defineProperty(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; }
|
|
4
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
5
|
-
import findReactFiber from './find-react-fiber';
|
|
6
|
-
import getComponentName from './get-component-name';
|
|
7
|
-
var DEFAULT_MAX_LEVEL = 20;
|
|
8
|
-
// Using the React Fiber tree to traverse up the DOM and check if a node is within a specific component
|
|
9
|
-
// and extract child component props if needed.
|
|
10
|
-
export default function checkWithinComponentAndExtractChildProps(node, targetComponentName, childComponentConfig) {
|
|
11
|
-
var fiber = null;
|
|
12
|
-
if (fg('platform_ufo_handle_non_react_element_for_3p')) {
|
|
13
|
-
// Walk up the DOM tree to find React fiber (handles non-React-rendered elements)
|
|
14
|
-
var currentElement = node;
|
|
15
|
-
var levelsTraversed = 0;
|
|
16
|
-
while (currentElement && !fiber && levelsTraversed < DEFAULT_MAX_LEVEL) {
|
|
17
|
-
fiber = findReactFiber(currentElement);
|
|
18
|
-
if (!fiber) {
|
|
19
|
-
currentElement = currentElement.parentElement;
|
|
20
|
-
}
|
|
21
|
-
levelsTraversed++;
|
|
22
|
-
}
|
|
23
|
-
} else {
|
|
24
|
-
fiber = findReactFiber(node);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// If no React fiber found, return false
|
|
28
|
-
if (!fiber) {
|
|
29
|
-
return {
|
|
30
|
-
isWithin: false
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Traverse up the fiber tree
|
|
35
|
-
var currentFiber = fiber;
|
|
36
|
-
var childProp;
|
|
37
|
-
while (currentFiber) {
|
|
38
|
-
var componentName = getComponentName(currentFiber);
|
|
39
|
-
|
|
40
|
-
// Check if this is a child component we're looking for
|
|
41
|
-
if (childComponentConfig && componentName === childComponentConfig.componentName) {
|
|
42
|
-
var props = currentFiber.memoizedProps || currentFiber.pendingProps;
|
|
43
|
-
if (props && props[childComponentConfig.propName] !== undefined) {
|
|
44
|
-
// Overwrite with the nearest child prop (closest to the target component)
|
|
45
|
-
childProp = childComponentConfig.extractValue ? childComponentConfig.extractValue(props) : props[childComponentConfig.propName];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// Check if we found the target component
|
|
50
|
-
if (componentName === targetComponentName) {
|
|
51
|
-
return _objectSpread({
|
|
52
|
-
isWithin: true
|
|
53
|
-
}, childComponentConfig && {
|
|
54
|
-
childProp: childProp
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
currentFiber = currentFiber.return;
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
isWithin: false
|
|
61
|
-
};
|
|
62
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export default function checkWithinComponentAndExtractChildProps<T = string>(node: HTMLElement, targetComponentName: string, childComponentConfig?: {
|
|
2
|
-
componentName: string;
|
|
3
|
-
propName: string;
|
|
4
|
-
extractValue?: (props: any) => T;
|
|
5
|
-
}): {
|
|
6
|
-
isWithin: boolean;
|
|
7
|
-
childProp?: T;
|
|
8
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export default function checkWithinComponentAndExtractChildProps<T = string>(node: HTMLElement, targetComponentName: string, childComponentConfig?: {
|
|
2
|
-
componentName: string;
|
|
3
|
-
propName: string;
|
|
4
|
-
extractValue?: (props: any) => T;
|
|
5
|
-
}): {
|
|
6
|
-
isWithin: boolean;
|
|
7
|
-
childProp?: T;
|
|
8
|
-
};
|