@legendapp/list 2.0.0-next.14 → 2.0.0-next.16

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/index.js CHANGED
@@ -2345,7 +2345,13 @@ function updateItemSize(ctx, state, itemKey, sizeObj) {
2345
2345
  } = state;
2346
2346
  if (getFixedItemSize) {
2347
2347
  const index = state.indexByKey.get(itemKey);
2348
+ if (index === void 0) {
2349
+ return;
2350
+ }
2348
2351
  const itemData = state.props.data[index];
2352
+ if (itemData === void 0) {
2353
+ return;
2354
+ }
2349
2355
  const type = getItemType ? (_a = getItemType(itemData, index)) != null ? _a : "" : "";
2350
2356
  const size = getFixedItemSize(index, itemData, type);
2351
2357
  if (size !== void 0 && size === sizesKnown.get(itemKey)) {
@@ -2374,14 +2380,14 @@ function updateOneItemSize(state, itemKey, sizeObj) {
2374
2380
  indexByKey,
2375
2381
  sizesKnown,
2376
2382
  averageSizes,
2377
- props: { data, horizontal, getEstimatedItemSize, getItemType }
2383
+ props: { data, horizontal, getEstimatedItemSize, getItemType, getFixedItemSize }
2378
2384
  } = state;
2379
2385
  if (!data) return 0;
2380
2386
  const index = indexByKey.get(itemKey);
2381
2387
  const prevSize = getItemSize(state, itemKey, index, data);
2382
2388
  const size = Math.floor((horizontal ? sizeObj.width : sizeObj.height) * 8) / 8;
2383
2389
  sizesKnown.set(itemKey, size);
2384
- if (!getEstimatedItemSize) {
2390
+ if (!getEstimatedItemSize && !getFixedItemSize) {
2385
2391
  const itemType = getItemType ? (_a = getItemType(data[index], index)) != null ? _a : "" : "";
2386
2392
  let averages = averageSizes[itemType];
2387
2393
  if (!averages) {
@@ -2447,7 +2453,7 @@ function getRenderedItem(ctx, state, key) {
2447
2453
  item: data[index],
2448
2454
  type: getItemType ? (_a = getItemType(data[index], index)) != null ? _a : "" : ""
2449
2455
  };
2450
- renderedItem = React3__namespace.default.createElement(renderItem2, itemProps);
2456
+ renderedItem = isFunction(renderItem2) ? renderItem2(itemProps) : React3__namespace.default.createElement(renderItem2, itemProps);
2451
2457
  }
2452
2458
  return { index, item: data[index], renderedItem };
2453
2459
  }
@@ -2692,9 +2698,6 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
2692
2698
  }
2693
2699
  }
2694
2700
  }
2695
- if (!isFirst) {
2696
- calculateItemsInView(ctx, state, { doMVCP: true });
2697
- }
2698
2701
  }, [dataProp]);
2699
2702
  const onLayoutHeader = React3.useCallback((rect, fromLayoutEffect) => {
2700
2703
  const size = rect[horizontal ? "width" : "height"];
package/index.mjs CHANGED
@@ -2324,7 +2324,13 @@ function updateItemSize(ctx, state, itemKey, sizeObj) {
2324
2324
  } = state;
2325
2325
  if (getFixedItemSize) {
2326
2326
  const index = state.indexByKey.get(itemKey);
2327
+ if (index === void 0) {
2328
+ return;
2329
+ }
2327
2330
  const itemData = state.props.data[index];
2331
+ if (itemData === void 0) {
2332
+ return;
2333
+ }
2328
2334
  const type = getItemType ? (_a = getItemType(itemData, index)) != null ? _a : "" : "";
2329
2335
  const size = getFixedItemSize(index, itemData, type);
2330
2336
  if (size !== void 0 && size === sizesKnown.get(itemKey)) {
@@ -2353,14 +2359,14 @@ function updateOneItemSize(state, itemKey, sizeObj) {
2353
2359
  indexByKey,
2354
2360
  sizesKnown,
2355
2361
  averageSizes,
2356
- props: { data, horizontal, getEstimatedItemSize, getItemType }
2362
+ props: { data, horizontal, getEstimatedItemSize, getItemType, getFixedItemSize }
2357
2363
  } = state;
2358
2364
  if (!data) return 0;
2359
2365
  const index = indexByKey.get(itemKey);
2360
2366
  const prevSize = getItemSize(state, itemKey, index, data);
2361
2367
  const size = Math.floor((horizontal ? sizeObj.width : sizeObj.height) * 8) / 8;
2362
2368
  sizesKnown.set(itemKey, size);
2363
- if (!getEstimatedItemSize) {
2369
+ if (!getEstimatedItemSize && !getFixedItemSize) {
2364
2370
  const itemType = getItemType ? (_a = getItemType(data[index], index)) != null ? _a : "" : "";
2365
2371
  let averages = averageSizes[itemType];
2366
2372
  if (!averages) {
@@ -2426,7 +2432,7 @@ function getRenderedItem(ctx, state, key) {
2426
2432
  item: data[index],
2427
2433
  type: getItemType ? (_a = getItemType(data[index], index)) != null ? _a : "" : ""
2428
2434
  };
2429
- renderedItem = React3__default.createElement(renderItem2, itemProps);
2435
+ renderedItem = isFunction(renderItem2) ? renderItem2(itemProps) : React3__default.createElement(renderItem2, itemProps);
2430
2436
  }
2431
2437
  return { index, item: data[index], renderedItem };
2432
2438
  }
@@ -2671,9 +2677,6 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
2671
2677
  }
2672
2678
  }
2673
2679
  }
2674
- if (!isFirst) {
2675
- calculateItemsInView(ctx, state, { doMVCP: true });
2676
- }
2677
2680
  }, [dataProp]);
2678
2681
  const onLayoutHeader = useCallback((rect, fromLayoutEffect) => {
2679
2682
  const size = rect[horizontal ? "width" : "height"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@legendapp/list",
3
- "version": "2.0.0-next.14",
3
+ "version": "2.0.0-next.16",
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,