@shopify/flash-list 2.0.0-alpha.8 → 2.0.0-alpha.9
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/README.md +1 -1
- package/dist/__tests__/RecyclerView.test.js +1 -1
- package/dist/__tests__/RecyclerView.test.js.map +1 -1
- package/dist/enableNewCore.d.ts.map +1 -1
- package/dist/enableNewCore.js +2 -1
- package/dist/enableNewCore.js.map +1 -1
- package/dist/native/config/PlatformHelper.android.d.ts +1 -0
- package/dist/native/config/PlatformHelper.android.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.android.js +1 -0
- package/dist/native/config/PlatformHelper.android.js.map +1 -1
- package/dist/native/config/PlatformHelper.d.ts +1 -0
- package/dist/native/config/PlatformHelper.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.ios.d.ts +1 -0
- package/dist/native/config/PlatformHelper.ios.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.ios.js +1 -0
- package/dist/native/config/PlatformHelper.ios.js.map +1 -1
- package/dist/native/config/PlatformHelper.js +1 -0
- package/dist/native/config/PlatformHelper.js.map +1 -1
- package/dist/native/config/PlatformHelper.web.d.ts +1 -0
- package/dist/native/config/PlatformHelper.web.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.web.js +2 -1
- package/dist/native/config/PlatformHelper.web.js.map +1 -1
- package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
- package/dist/recyclerview/RecyclerView.js +10 -1
- package/dist/recyclerview/RecyclerView.js.map +1 -1
- package/dist/recyclerview/components/ScrollAnchor.d.ts +1 -0
- package/dist/recyclerview/components/ScrollAnchor.d.ts.map +1 -1
- package/dist/recyclerview/components/ScrollAnchor.js +1 -0
- package/dist/recyclerview/components/ScrollAnchor.js.map +1 -1
- package/dist/recyclerview/components/StickyHeaders.d.ts.map +1 -1
- package/dist/recyclerview/components/StickyHeaders.js +1 -0
- package/dist/recyclerview/components/StickyHeaders.js.map +1 -1
- package/dist/recyclerview/helpers/EngagedIndicesTracker.d.ts.map +1 -1
- package/dist/recyclerview/helpers/EngagedIndicesTracker.js +3 -1
- package/dist/recyclerview/helpers/EngagedIndicesTracker.js.map +1 -1
- package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
- package/dist/recyclerview/hooks/useRecyclerViewController.js +13 -4
- package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
- package/dist/recyclerview/layout-managers/MasonryLayoutManager.js +2 -2
- package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -1
- package/dist/recyclerview/utils/measureLayout.d.ts +1 -29
- package/dist/recyclerview/utils/measureLayout.d.ts.map +1 -1
- package/dist/recyclerview/utils/measureLayout.js +2 -4
- package/dist/recyclerview/utils/measureLayout.js.map +1 -1
- package/dist/recyclerview/utils/measureLayout.web.d.ts +29 -0
- package/dist/recyclerview/utils/measureLayout.web.d.ts.map +1 -0
- package/dist/recyclerview/utils/measureLayout.web.js +89 -0
- package/dist/recyclerview/utils/measureLayout.web.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/__tests__/RecyclerView.test.tsx +1 -1
- package/src/enableNewCore.ts +3 -1
- package/src/native/config/PlatformHelper.android.ts +1 -0
- package/src/native/config/PlatformHelper.ios.ts +1 -0
- package/src/native/config/PlatformHelper.ts +1 -0
- package/src/native/config/PlatformHelper.web.ts +2 -1
- package/src/recyclerview/RecyclerView.tsx +14 -2
- package/src/recyclerview/components/ScrollAnchor.tsx +1 -0
- package/src/recyclerview/components/StickyHeaders.tsx +1 -0
- package/src/recyclerview/helpers/EngagedIndicesTracker.ts +3 -1
- package/src/recyclerview/hooks/useRecyclerViewController.tsx +9 -1
- package/src/recyclerview/layout-managers/MasonryLayoutManager.ts +1 -1
- package/src/recyclerview/utils/measureLayout.ts +3 -3
- package/src/recyclerview/utils/measureLayout.web.ts +104 -0
|
@@ -5,34 +5,6 @@ interface Layout {
|
|
|
5
5
|
width: number;
|
|
6
6
|
height: number;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Measures the layout of a view relative to itselft.
|
|
10
|
-
* Using measure wasn't returing accurate values but this workaround does.
|
|
11
|
-
* Returns the x, y coordinates and dimensions of the view.
|
|
12
|
-
*
|
|
13
|
-
* @param view - The React Native View component to measure
|
|
14
|
-
* @returns An object containing x, y, width, and height measurements
|
|
15
|
-
*/
|
|
16
|
-
export declare function measureLayout(view: View, oldLayout: Layout | undefined): {
|
|
17
|
-
x: number;
|
|
18
|
-
y: number;
|
|
19
|
-
width: number;
|
|
20
|
-
height: number;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Measures the layout of a view relative to another view.
|
|
24
|
-
* Useful for measuring positions relative to a specific reference view.
|
|
25
|
-
*
|
|
26
|
-
* @param view - The React Native View component to measure
|
|
27
|
-
* @param relativeTo - The reference view to measure against
|
|
28
|
-
* @returns An object containing x, y, width, and height measurements
|
|
29
|
-
*/
|
|
30
|
-
export declare function measureLayoutRelative(view: View, relativeTo: View, oldLayout: Layout | undefined): {
|
|
31
|
-
x: number;
|
|
32
|
-
y: number;
|
|
33
|
-
width: number;
|
|
34
|
-
height: number;
|
|
35
|
-
};
|
|
36
8
|
/**
|
|
37
9
|
* Checks if two dimension values are not equal, with a small tolerance.
|
|
38
10
|
* Used to handle floating-point precision issues in layout measurements.
|
|
@@ -67,7 +39,7 @@ export declare function measureParentSize(view: View): Layout;
|
|
|
67
39
|
* @param parentView
|
|
68
40
|
* @returns
|
|
69
41
|
*/
|
|
70
|
-
export declare function
|
|
42
|
+
export declare function measureFirstChildLayout(childContainerView: View, parentView: View): Layout;
|
|
71
43
|
/**
|
|
72
44
|
* Specific method for easier mocking
|
|
73
45
|
* Measures the layout of items of RecyclerView
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measureLayout.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAEhD,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"measureLayout.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAEhD,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAkDD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAO1E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,kBAAkB,EAAE,IAAI,EACxB,UAAU,EAAE,IAAI,GACf,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,CAER"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.measureLayout = measureLayout;
|
|
4
|
-
exports.measureLayoutRelative = measureLayoutRelative;
|
|
5
3
|
exports.areDimensionsNotEqual = areDimensionsNotEqual;
|
|
6
4
|
exports.areDimensionsEqual = areDimensionsEqual;
|
|
7
5
|
exports.roundOffPixel = roundOffPixel;
|
|
8
6
|
exports.measureParentSize = measureParentSize;
|
|
9
|
-
exports.
|
|
7
|
+
exports.measureFirstChildLayout = measureFirstChildLayout;
|
|
10
8
|
exports.measureItemLayout = measureItemLayout;
|
|
11
9
|
var react_native_1 = require("react-native");
|
|
12
10
|
/**
|
|
@@ -93,7 +91,7 @@ function measureParentSize(view) {
|
|
|
93
91
|
* @param parentView
|
|
94
92
|
* @returns
|
|
95
93
|
*/
|
|
96
|
-
function
|
|
94
|
+
function measureFirstChildLayout(childContainerView, parentView) {
|
|
97
95
|
return measureLayoutRelative(childContainerView, parentView, undefined);
|
|
98
96
|
}
|
|
99
97
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measureLayout.js","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"measureLayout.js","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.ts"],"names":[],"mappings":";;AAiEA,sDAEC;AAUD,gDAOC;AAED,sCAEC;AASD,8CAEC;AASD,0DAKC;AASD,8CAKC;AA/HD,6CAAgD;AAShD;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,IAAU,EAAE,SAA6B;IAC9D,wDAAwD;IACxD,8CAA8C;IAC9C,gDAAgD;IAChD,iBAAiB;IACjB,OAAO,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAC5B,IAAU,EACV,UAAgB,EAChB,SAA6B;IAE7B,IAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACnD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,UAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM;QACjD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,MAAc,EAAE,MAAc;IAClE,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,MAAc,EAAE,MAAc;IAC/D,OAAO,CACL,IAAI,CAAC,GAAG,CACN,yBAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC;QAC1C,yBAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAC/C,IAAI,CAAC,CACP,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,yBAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,IAAU;IAC1C,OAAO,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,kBAAwB,EACxB,UAAgB;IAEhB,OAAO,qBAAqB,CAAC,kBAAkB,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC/B,IAAU,EACV,SAA6B;IAE7B,OAAO,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
interface Layout {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Checks if two dimension values are not equal, with a small tolerance.
|
|
9
|
+
*/
|
|
10
|
+
export declare function areDimensionsNotEqual(value1: number, value2: number): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Checks if two dimension values are equal, with a small tolerance.
|
|
13
|
+
*/
|
|
14
|
+
export declare function areDimensionsEqual(value1: number, value2: number): boolean;
|
|
15
|
+
export declare function roundOffPixel(value: number): number;
|
|
16
|
+
/**
|
|
17
|
+
* Measures the layout of parent of RecyclerView
|
|
18
|
+
*/
|
|
19
|
+
export declare function measureParentSize(view: Element): Layout;
|
|
20
|
+
/**
|
|
21
|
+
* Measures the layout of child container of RecyclerView
|
|
22
|
+
*/
|
|
23
|
+
export declare function measureFirstChildLayout(childContainerView: Element, parentView: Element): Layout;
|
|
24
|
+
/**
|
|
25
|
+
* Measures the layout of items of RecyclerView
|
|
26
|
+
*/
|
|
27
|
+
export declare function measureItemLayout(item: Element, oldLayout: Layout | undefined): Layout;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=measureLayout.web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureLayout.web.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.web.ts"],"names":[],"mappings":"AAAA,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAuBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAOvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,kBAAkB,EAAE,OAAO,EAC3B,UAAU,EAAE,OAAO,GAClB,MAAM,CAaR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,CAkBR"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.areDimensionsNotEqual = areDimensionsNotEqual;
|
|
4
|
+
exports.areDimensionsEqual = areDimensionsEqual;
|
|
5
|
+
exports.roundOffPixel = roundOffPixel;
|
|
6
|
+
exports.measureParentSize = measureParentSize;
|
|
7
|
+
exports.measureFirstChildLayout = measureFirstChildLayout;
|
|
8
|
+
exports.measureItemLayout = measureItemLayout;
|
|
9
|
+
/**
|
|
10
|
+
* Gets scroll offsets from up to 3 parent elements
|
|
11
|
+
*/
|
|
12
|
+
function getScrollOffsets(element, stopAt) {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
var scrollX = 0;
|
|
15
|
+
var scrollY = 0;
|
|
16
|
+
var currentElement = element;
|
|
17
|
+
var depth = 0;
|
|
18
|
+
// Only check up to 3 parent elements
|
|
19
|
+
while (currentElement && currentElement !== stopAt && depth < 3) {
|
|
20
|
+
var htmlElement = currentElement;
|
|
21
|
+
scrollX += (_a = htmlElement.scrollLeft) !== null && _a !== void 0 ? _a : 0;
|
|
22
|
+
scrollY += (_b = htmlElement.scrollTop) !== null && _b !== void 0 ? _b : 0;
|
|
23
|
+
currentElement = currentElement.parentElement;
|
|
24
|
+
depth++;
|
|
25
|
+
}
|
|
26
|
+
return { scrollX: scrollX, scrollY: scrollY };
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Checks if two dimension values are not equal, with a small tolerance.
|
|
30
|
+
*/
|
|
31
|
+
function areDimensionsNotEqual(value1, value2) {
|
|
32
|
+
return !areDimensionsEqual(value1, value2);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Checks if two dimension values are equal, with a small tolerance.
|
|
36
|
+
*/
|
|
37
|
+
function areDimensionsEqual(value1, value2) {
|
|
38
|
+
return Math.abs(value1 - value2) <= 1;
|
|
39
|
+
}
|
|
40
|
+
function roundOffPixel(value) {
|
|
41
|
+
return value;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Measures the layout of parent of RecyclerView
|
|
45
|
+
*/
|
|
46
|
+
function measureParentSize(view) {
|
|
47
|
+
return {
|
|
48
|
+
x: 0,
|
|
49
|
+
y: 0,
|
|
50
|
+
width: view.clientWidth,
|
|
51
|
+
height: view.clientHeight,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Measures the layout of child container of RecyclerView
|
|
56
|
+
*/
|
|
57
|
+
function measureFirstChildLayout(childContainerView, parentView) {
|
|
58
|
+
var childRect = childContainerView.getBoundingClientRect();
|
|
59
|
+
var parentRect = parentView.getBoundingClientRect();
|
|
60
|
+
// Get scroll offsets for child container (max 3 parents)
|
|
61
|
+
var scrollOffsets = getScrollOffsets(childContainerView, parentView);
|
|
62
|
+
return {
|
|
63
|
+
x: childRect.left - parentRect.left + scrollOffsets.scrollX,
|
|
64
|
+
y: childRect.top - parentRect.top + scrollOffsets.scrollY,
|
|
65
|
+
width: roundOffPixel(childRect.width),
|
|
66
|
+
height: roundOffPixel(childRect.height),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Measures the layout of items of RecyclerView
|
|
71
|
+
*/
|
|
72
|
+
function measureItemLayout(item, oldLayout) {
|
|
73
|
+
var layout = {
|
|
74
|
+
x: 0,
|
|
75
|
+
y: 0,
|
|
76
|
+
width: item.clientWidth,
|
|
77
|
+
height: item.clientHeight,
|
|
78
|
+
};
|
|
79
|
+
if (oldLayout) {
|
|
80
|
+
if (areDimensionsEqual(layout.width, oldLayout.width)) {
|
|
81
|
+
layout.width = oldLayout.width;
|
|
82
|
+
}
|
|
83
|
+
if (areDimensionsEqual(layout.height, oldLayout.height)) {
|
|
84
|
+
layout.height = oldLayout.height;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return layout;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=measureLayout.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureLayout.web.js","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.web.ts"],"names":[],"mappings":"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"}
|