@legendapp/list 3.3.8 → 3.3.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/.DS_Store ADDED
Binary file
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 3.3.9
2
+
3
+ - Fix: Rows after an item that changes size stay in the correct positions while scrolling
4
+
1
5
  ## 3.3.8
2
6
 
3
7
  - Feat: Add `experimental_hideItemsUntilMeasured` to make items never display at provisional layouts and wait for correct sizing, at the cost of an extra render per recycled row. This fixes cases where slow item renders could display with gaps/overlaps when scrolling up quickly on slow phones.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@legendapp/list",
3
- "version": "3.3.8",
3
+ "version": "3.3.9",
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,
package/react-native.js CHANGED
@@ -4391,7 +4391,9 @@ function calculateItemsInView(ctx, params = {}) {
4391
4391
  const optimizeForVisibleWindow = !forceFullItemPositions && !dataChanged && numColumns > 1 && minIndexSizeChanged !== void 0;
4392
4392
  updateItemPositions(ctx, dataChanged, {
4393
4393
  doMVCP,
4394
- forceFullUpdate: !!forceFullItemPositions,
4394
+ // A changed size shifts every following position. The scrolling early-exit
4395
+ // would leave the untouched suffix in the old coordinate space.
4396
+ forceFullUpdate: !!forceFullItemPositions || minIndexSizeChanged !== void 0,
4395
4397
  optimizeForVisibleWindow,
4396
4398
  scrollBottomBuffered,
4397
4399
  scrollVelocity: speed,
package/react-native.mjs CHANGED
@@ -4370,7 +4370,9 @@ function calculateItemsInView(ctx, params = {}) {
4370
4370
  const optimizeForVisibleWindow = !forceFullItemPositions && !dataChanged && numColumns > 1 && minIndexSizeChanged !== void 0;
4371
4371
  updateItemPositions(ctx, dataChanged, {
4372
4372
  doMVCP,
4373
- forceFullUpdate: !!forceFullItemPositions,
4373
+ // A changed size shifts every following position. The scrolling early-exit
4374
+ // would leave the untouched suffix in the old coordinate space.
4375
+ forceFullUpdate: !!forceFullItemPositions || minIndexSizeChanged !== void 0,
4374
4376
  optimizeForVisibleWindow,
4375
4377
  scrollBottomBuffered,
4376
4378
  scrollVelocity: speed,
@@ -4420,7 +4420,9 @@ function calculateItemsInView(ctx, params = {}) {
4420
4420
  const optimizeForVisibleWindow = !forceFullItemPositions && !dataChanged && numColumns > 1 && minIndexSizeChanged !== void 0;
4421
4421
  updateItemPositions(ctx, dataChanged, {
4422
4422
  doMVCP,
4423
- forceFullUpdate: !!forceFullItemPositions,
4423
+ // A changed size shifts every following position. The scrolling early-exit
4424
+ // would leave the untouched suffix in the old coordinate space.
4425
+ forceFullUpdate: !!forceFullItemPositions || minIndexSizeChanged !== void 0,
4424
4426
  optimizeForVisibleWindow,
4425
4427
  scrollBottomBuffered,
4426
4428
  scrollVelocity: speed,
@@ -4399,7 +4399,9 @@ function calculateItemsInView(ctx, params = {}) {
4399
4399
  const optimizeForVisibleWindow = !forceFullItemPositions && !dataChanged && numColumns > 1 && minIndexSizeChanged !== void 0;
4400
4400
  updateItemPositions(ctx, dataChanged, {
4401
4401
  doMVCP,
4402
- forceFullUpdate: !!forceFullItemPositions,
4402
+ // A changed size shifts every following position. The scrolling early-exit
4403
+ // would leave the untouched suffix in the old coordinate space.
4404
+ forceFullUpdate: !!forceFullItemPositions || minIndexSizeChanged !== void 0,
4403
4405
  optimizeForVisibleWindow,
4404
4406
  scrollBottomBuffered,
4405
4407
  scrollVelocity: speed,
package/react.js CHANGED
@@ -4420,7 +4420,9 @@ function calculateItemsInView(ctx, params = {}) {
4420
4420
  const optimizeForVisibleWindow = !forceFullItemPositions && !dataChanged && numColumns > 1 && minIndexSizeChanged !== void 0;
4421
4421
  updateItemPositions(ctx, dataChanged, {
4422
4422
  doMVCP,
4423
- forceFullUpdate: !!forceFullItemPositions,
4423
+ // A changed size shifts every following position. The scrolling early-exit
4424
+ // would leave the untouched suffix in the old coordinate space.
4425
+ forceFullUpdate: !!forceFullItemPositions || minIndexSizeChanged !== void 0,
4424
4426
  optimizeForVisibleWindow,
4425
4427
  scrollBottomBuffered,
4426
4428
  scrollVelocity: speed,
package/react.mjs CHANGED
@@ -4399,7 +4399,9 @@ function calculateItemsInView(ctx, params = {}) {
4399
4399
  const optimizeForVisibleWindow = !forceFullItemPositions && !dataChanged && numColumns > 1 && minIndexSizeChanged !== void 0;
4400
4400
  updateItemPositions(ctx, dataChanged, {
4401
4401
  doMVCP,
4402
- forceFullUpdate: !!forceFullItemPositions,
4402
+ // A changed size shifts every following position. The scrolling early-exit
4403
+ // would leave the untouched suffix in the old coordinate space.
4404
+ forceFullUpdate: !!forceFullItemPositions || minIndexSizeChanged !== void 0,
4403
4405
  optimizeForVisibleWindow,
4404
4406
  scrollBottomBuffered,
4405
4407
  scrollVelocity: speed,