@legendapp/list 2.0.0-beta.1 → 2.0.0-beta.3
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/index.d.mts +6 -0
- package/index.d.ts +6 -0
- package/index.js +4 -2
- package/index.mjs +4 -2
- package/package.json +1 -1
package/index.d.mts
CHANGED
|
@@ -65,6 +65,11 @@ interface LegendListSpecificProps<ItemT, TItemType extends string | undefined> {
|
|
|
65
65
|
* @default false
|
|
66
66
|
*/
|
|
67
67
|
alignItemsAtEnd?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* If true, enables using average sizes for performance optimization.
|
|
70
|
+
* @default true
|
|
71
|
+
*/
|
|
72
|
+
enableAverages?: boolean;
|
|
68
73
|
/**
|
|
69
74
|
* Style applied to each column's wrapper view.
|
|
70
75
|
*/
|
|
@@ -392,6 +397,7 @@ interface InternalState {
|
|
|
392
397
|
stickyIndicesSet: Set<number>;
|
|
393
398
|
stickyIndicesArr: number[];
|
|
394
399
|
itemsAreEqual: LegendListProps["itemsAreEqual"];
|
|
400
|
+
enableAverages: boolean;
|
|
395
401
|
};
|
|
396
402
|
}
|
|
397
403
|
interface ViewableRange<T> {
|
package/index.d.ts
CHANGED
|
@@ -65,6 +65,11 @@ interface LegendListSpecificProps<ItemT, TItemType extends string | undefined> {
|
|
|
65
65
|
* @default false
|
|
66
66
|
*/
|
|
67
67
|
alignItemsAtEnd?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* If true, enables using average sizes for performance optimization.
|
|
70
|
+
* @default true
|
|
71
|
+
*/
|
|
72
|
+
enableAverages?: boolean;
|
|
68
73
|
/**
|
|
69
74
|
* Style applied to each column's wrapper view.
|
|
70
75
|
*/
|
|
@@ -392,6 +397,7 @@ interface InternalState {
|
|
|
392
397
|
stickyIndicesSet: Set<number>;
|
|
393
398
|
stickyIndicesArr: number[];
|
|
394
399
|
itemsAreEqual: LegendListProps["itemsAreEqual"];
|
|
400
|
+
enableAverages: boolean;
|
|
395
401
|
};
|
|
396
402
|
}
|
|
397
403
|
interface ViewableRange<T> {
|
package/index.js
CHANGED
|
@@ -1239,13 +1239,13 @@ function updateAllPositions(ctx, state, dataChanged) {
|
|
|
1239
1239
|
firstFullyOnScreenIndex,
|
|
1240
1240
|
idCache,
|
|
1241
1241
|
sizesKnown,
|
|
1242
|
-
props: { getEstimatedItemSize, snapToIndices }
|
|
1242
|
+
props: { getEstimatedItemSize, snapToIndices, enableAverages }
|
|
1243
1243
|
} = state;
|
|
1244
1244
|
const data = state.props.data;
|
|
1245
1245
|
const numColumns = peek$(ctx, "numColumns");
|
|
1246
1246
|
const indexByKeyForChecking = __DEV__ ? /* @__PURE__ */ new Map() : void 0;
|
|
1247
1247
|
const scrollVelocity = getScrollVelocity(state);
|
|
1248
|
-
const useAverageSize = !getEstimatedItemSize;
|
|
1248
|
+
const useAverageSize = enableAverages && !getEstimatedItemSize;
|
|
1249
1249
|
const itemType = "";
|
|
1250
1250
|
let averageSize = (_a = averageSizes[itemType]) == null ? void 0 : _a.avg;
|
|
1251
1251
|
if (averageSize !== void 0) {
|
|
@@ -2637,6 +2637,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
|
|
|
2637
2637
|
contentContainerStyle: contentContainerStyleProp,
|
|
2638
2638
|
data: dataProp = [],
|
|
2639
2639
|
drawDistance = 250,
|
|
2640
|
+
enableAverages = true,
|
|
2640
2641
|
estimatedItemSize: estimatedItemSizeProp,
|
|
2641
2642
|
estimatedListSize,
|
|
2642
2643
|
extraData,
|
|
@@ -2760,6 +2761,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
|
|
|
2760
2761
|
state.props = {
|
|
2761
2762
|
alignItemsAtEnd,
|
|
2762
2763
|
data: dataProp,
|
|
2764
|
+
enableAverages,
|
|
2763
2765
|
estimatedItemSize,
|
|
2764
2766
|
getEstimatedItemSize,
|
|
2765
2767
|
getFixedItemSize,
|
package/index.mjs
CHANGED
|
@@ -1218,13 +1218,13 @@ function updateAllPositions(ctx, state, dataChanged) {
|
|
|
1218
1218
|
firstFullyOnScreenIndex,
|
|
1219
1219
|
idCache,
|
|
1220
1220
|
sizesKnown,
|
|
1221
|
-
props: { getEstimatedItemSize, snapToIndices }
|
|
1221
|
+
props: { getEstimatedItemSize, snapToIndices, enableAverages }
|
|
1222
1222
|
} = state;
|
|
1223
1223
|
const data = state.props.data;
|
|
1224
1224
|
const numColumns = peek$(ctx, "numColumns");
|
|
1225
1225
|
const indexByKeyForChecking = __DEV__ ? /* @__PURE__ */ new Map() : void 0;
|
|
1226
1226
|
const scrollVelocity = getScrollVelocity(state);
|
|
1227
|
-
const useAverageSize = !getEstimatedItemSize;
|
|
1227
|
+
const useAverageSize = enableAverages && !getEstimatedItemSize;
|
|
1228
1228
|
const itemType = "";
|
|
1229
1229
|
let averageSize = (_a = averageSizes[itemType]) == null ? void 0 : _a.avg;
|
|
1230
1230
|
if (averageSize !== void 0) {
|
|
@@ -2616,6 +2616,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
|
|
|
2616
2616
|
contentContainerStyle: contentContainerStyleProp,
|
|
2617
2617
|
data: dataProp = [],
|
|
2618
2618
|
drawDistance = 250,
|
|
2619
|
+
enableAverages = true,
|
|
2619
2620
|
estimatedItemSize: estimatedItemSizeProp,
|
|
2620
2621
|
estimatedListSize,
|
|
2621
2622
|
extraData,
|
|
@@ -2739,6 +2740,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
|
|
|
2739
2740
|
state.props = {
|
|
2740
2741
|
alignItemsAtEnd,
|
|
2741
2742
|
data: dataProp,
|
|
2743
|
+
enableAverages,
|
|
2742
2744
|
estimatedItemSize,
|
|
2743
2745
|
getEstimatedItemSize,
|
|
2744
2746
|
getFixedItemSize,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@legendapp/list",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.3",
|
|
4
4
|
"description": "Legend List is a drop-in replacement for FlatList with much better performance and supporting dynamically sized items.",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"private": false,
|