@legendapp/list 1.0.5 → 1.0.6

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.js CHANGED
@@ -919,7 +919,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
919
919
  columnWrapperStyle,
920
920
  keyExtractor: keyExtractorProp,
921
921
  renderItem,
922
- estimatedItemSize,
922
+ estimatedItemSize: estimatedItemSizeProp,
923
923
  getEstimatedItemSize,
924
924
  suggestEstimatedItemSize,
925
925
  ListEmptyComponent,
@@ -959,6 +959,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
959
959
  ctx.columnWrapperStyle = columnWrapperStyle || (contentContainerStyle ? createColumnWrapperStyle(contentContainerStyle) : void 0);
960
960
  const refScroller = React2.useRef(null);
961
961
  const combinedRef = useCombinedRef(refScroller, refScrollView);
962
+ const estimatedItemSize = estimatedItemSizeProp != null ? estimatedItemSizeProp : DEFAULT_ITEM_SIZE;
962
963
  const scrollBuffer = (drawDistance != null ? drawDistance : DEFAULT_DRAW_DISTANCE) || 1;
963
964
  const keyExtractor = keyExtractorProp != null ? keyExtractorProp : (item, index) => index.toString();
964
965
  const refState = React2.useRef();
@@ -972,7 +973,6 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
972
973
  return `${ret}`;
973
974
  };
974
975
  const getItemSize = (key, index, data, useAverageSize = false) => {
975
- var _a;
976
976
  const state = refState.current;
977
977
  const sizeKnown = state.sizesKnown.get(key);
978
978
  const sizePrevious = state.sizes.get(key);
@@ -992,7 +992,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
992
992
  return sizePrevious;
993
993
  }
994
994
  if (size === void 0) {
995
- size = (_a = getEstimatedItemSize ? getEstimatedItemSize(index, data) : estimatedItemSize) != null ? _a : DEFAULT_ITEM_SIZE;
995
+ size = getEstimatedItemSize ? getEstimatedItemSize(index, data) : estimatedItemSize;
996
996
  }
997
997
  state.sizes.set(key, size);
998
998
  return size;
@@ -1013,7 +1013,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1013
1013
  for (let i = 0; i < index; i++) {
1014
1014
  offset += sizeFn(i);
1015
1015
  }
1016
- } else if (estimatedItemSize) {
1016
+ } else {
1017
1017
  offset = index * estimatedItemSize;
1018
1018
  }
1019
1019
  const adjust = peek$(ctx, "containersDidLayout") ? ((_a = refState.current) == null ? void 0 : _a.scrollAdjustHandler.getAppliedAdjust()) || 0 : 0;
@@ -1355,7 +1355,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1355
1355
  const previousScrollAdjust = scrollAdjustHandler.getAppliedAdjust();
1356
1356
  const scrollExtra = Math.max(-16, Math.min(16, speed)) * 16;
1357
1357
  let scrollState = state.scroll;
1358
- const useAverageSize = !state.disableScrollJumpsFrom;
1358
+ const useAverageSize = !state.disableScrollJumpsFrom && speed >= 0 && peek$(ctx, "containersDidLayout");
1359
1359
  if (!state.queuedInitialLayout && initialScrollIndex) {
1360
1360
  const updatedOffset = calculateOffsetForIndex(initialScrollIndex);
1361
1361
  scrollState = updatedOffset;
@@ -1385,7 +1385,6 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1385
1385
  }
1386
1386
  }
1387
1387
  const scrollBottom = scroll + scrollLength;
1388
- const prevStartBuffered = state.startBuffered;
1389
1388
  const prevEndBuffered = state.endBuffered;
1390
1389
  let startNoBuffer = null;
1391
1390
  let startBuffered = null;
@@ -1437,7 +1436,8 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1437
1436
  }
1438
1437
  return topOffset;
1439
1438
  };
1440
- for (let i = Math.max(0, loopStart); i < data.length; i++) {
1439
+ let foundEnd = false;
1440
+ for (let i = Math.max(0, loopStart); i < data.length && (!foundEnd || i <= prevEndBuffered); i++) {
1441
1441
  const id = getId(i);
1442
1442
  const size = getItemSize(id, i, data[i], useAverageSize);
1443
1443
  maxSizeInRow = Math.max(maxSizeInRow, size);
@@ -1450,21 +1450,23 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1450
1450
  if (columns.get(id) !== column) {
1451
1451
  columns.set(id, column);
1452
1452
  }
1453
- if (startNoBuffer === null && top + size > scroll) {
1454
- startNoBuffer = i;
1455
- }
1456
- if (startBuffered === null && top + size > scroll - scrollBufferTop) {
1457
- startBuffered = i;
1458
- startBufferedId = id;
1459
- }
1460
- if (startNoBuffer !== null) {
1461
- if (top <= scrollBottom) {
1462
- endNoBuffer = i;
1453
+ if (!foundEnd) {
1454
+ if (startNoBuffer === null && top + size > scroll) {
1455
+ startNoBuffer = i;
1463
1456
  }
1464
- if (top <= scrollBottom + scrollBufferBottom) {
1465
- endBuffered = i;
1466
- } else {
1467
- break;
1457
+ if (startBuffered === null && top + size > scroll - scrollBufferTop) {
1458
+ startBuffered = i;
1459
+ startBufferedId = id;
1460
+ }
1461
+ if (startNoBuffer !== null) {
1462
+ if (top <= scrollBottom) {
1463
+ endNoBuffer = i;
1464
+ }
1465
+ if (top <= scrollBottom + scrollBufferBottom) {
1466
+ endBuffered = i;
1467
+ } else {
1468
+ foundEnd = true;
1469
+ }
1468
1470
  }
1469
1471
  }
1470
1472
  column++;
@@ -1566,18 +1568,14 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1566
1568
  const item = data[itemIndex];
1567
1569
  if (item !== void 0) {
1568
1570
  const id = getId(itemIndex);
1569
- if (itemKey !== id || itemIndex < startBuffered || itemIndex > endBuffered) {
1570
- const prevPos = peek$(ctx, `containerPosition${i}`);
1571
- const pos = positions.get(id) || 0;
1572
- const size = getItemSize(id, itemIndex, data[i]);
1573
- if (pos + size >= scroll && pos <= scrollBottom || prevPos + size >= scroll && prevPos <= scrollBottom || endBuffered < prevEndBuffered || startBuffered > prevStartBuffered) {
1574
- set$(ctx, `containerPosition${i}`, ANCHORED_POSITION_OUT_OF_VIEW);
1575
- }
1571
+ const position = positions.get(id);
1572
+ if (position === void 0) {
1573
+ set$(ctx, `containerPosition${i}`, ANCHORED_POSITION_OUT_OF_VIEW);
1576
1574
  } else {
1577
1575
  const pos = {
1578
1576
  type: "top",
1579
- relativeCoordinate: positions.get(id) || 0,
1580
- top: positions.get(id) || 0
1577
+ relativeCoordinate: positions.get(id),
1578
+ top: positions.get(id)
1581
1579
  };
1582
1580
  const column2 = columns.get(id) || 1;
1583
1581
  if (maintainVisibleContentPosition && itemIndex < anchorElementIndex) {
@@ -1951,11 +1949,10 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1951
1949
  return { index, item: data[index], renderedItem };
1952
1950
  }, []);
1953
1951
  const doInitialAllocateContainers = () => {
1954
- var _a;
1955
1952
  const state = refState.current;
1956
1953
  const { scrollLength, data } = state;
1957
1954
  if (scrollLength > 0 && data.length > 0 && !peek$(ctx, "numContainers")) {
1958
- const averageItemSize = (_a = estimatedItemSize != null ? estimatedItemSize : getEstimatedItemSize == null ? void 0 : getEstimatedItemSize(0, data[0])) != null ? _a : DEFAULT_ITEM_SIZE;
1955
+ const averageItemSize = getEstimatedItemSize ? getEstimatedItemSize(0, data[0]) : estimatedItemSize;
1959
1956
  const numContainers = Math.ceil((scrollLength + scrollBuffer * 2) / averageItemSize) * numColumnsProp;
1960
1957
  for (let i = 0; i < numContainers; i++) {
1961
1958
  set$(ctx, `containerPosition${i}`, ANCHORED_POSITION_OUT_OF_VIEW);
@@ -2006,6 +2003,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
2006
2003
  const numColumns = peek$(ctx, "numColumns");
2007
2004
  state.minIndexSizeChanged = state.minIndexSizeChanged !== void 0 ? Math.min(state.minIndexSizeChanged, index) : index;
2008
2005
  const prevSize = getItemSize(itemKey, index, data);
2006
+ const prevSizeKnown = sizesKnown.get(itemKey);
2009
2007
  let needsCalculate = false;
2010
2008
  let needsUpdateContainersDidLayout = false;
2011
2009
  sizesKnown.set(itemKey, size);
@@ -2048,7 +2046,9 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
2048
2046
  }
2049
2047
  state.scrollForNextCalculateItemsInView = void 0;
2050
2048
  addTotalSize(itemKey, diff, 0);
2051
- doMaintainScrollAtEnd(false);
2049
+ if (prevSizeKnown !== void 0 && Math.abs(prevSizeKnown - size) > 5) {
2050
+ doMaintainScrollAtEnd(false);
2051
+ }
2052
2052
  if (onItemSizeChanged) {
2053
2053
  onItemSizeChanged({
2054
2054
  size,
package/index.mjs CHANGED
@@ -898,7 +898,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
898
898
  columnWrapperStyle,
899
899
  keyExtractor: keyExtractorProp,
900
900
  renderItem,
901
- estimatedItemSize,
901
+ estimatedItemSize: estimatedItemSizeProp,
902
902
  getEstimatedItemSize,
903
903
  suggestEstimatedItemSize,
904
904
  ListEmptyComponent,
@@ -938,6 +938,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
938
938
  ctx.columnWrapperStyle = columnWrapperStyle || (contentContainerStyle ? createColumnWrapperStyle(contentContainerStyle) : void 0);
939
939
  const refScroller = useRef(null);
940
940
  const combinedRef = useCombinedRef(refScroller, refScrollView);
941
+ const estimatedItemSize = estimatedItemSizeProp != null ? estimatedItemSizeProp : DEFAULT_ITEM_SIZE;
941
942
  const scrollBuffer = (drawDistance != null ? drawDistance : DEFAULT_DRAW_DISTANCE) || 1;
942
943
  const keyExtractor = keyExtractorProp != null ? keyExtractorProp : (item, index) => index.toString();
943
944
  const refState = useRef();
@@ -951,7 +952,6 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
951
952
  return `${ret}`;
952
953
  };
953
954
  const getItemSize = (key, index, data, useAverageSize = false) => {
954
- var _a;
955
955
  const state = refState.current;
956
956
  const sizeKnown = state.sizesKnown.get(key);
957
957
  const sizePrevious = state.sizes.get(key);
@@ -971,7 +971,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
971
971
  return sizePrevious;
972
972
  }
973
973
  if (size === void 0) {
974
- size = (_a = getEstimatedItemSize ? getEstimatedItemSize(index, data) : estimatedItemSize) != null ? _a : DEFAULT_ITEM_SIZE;
974
+ size = getEstimatedItemSize ? getEstimatedItemSize(index, data) : estimatedItemSize;
975
975
  }
976
976
  state.sizes.set(key, size);
977
977
  return size;
@@ -992,7 +992,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
992
992
  for (let i = 0; i < index; i++) {
993
993
  offset += sizeFn(i);
994
994
  }
995
- } else if (estimatedItemSize) {
995
+ } else {
996
996
  offset = index * estimatedItemSize;
997
997
  }
998
998
  const adjust = peek$(ctx, "containersDidLayout") ? ((_a = refState.current) == null ? void 0 : _a.scrollAdjustHandler.getAppliedAdjust()) || 0 : 0;
@@ -1334,7 +1334,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1334
1334
  const previousScrollAdjust = scrollAdjustHandler.getAppliedAdjust();
1335
1335
  const scrollExtra = Math.max(-16, Math.min(16, speed)) * 16;
1336
1336
  let scrollState = state.scroll;
1337
- const useAverageSize = !state.disableScrollJumpsFrom;
1337
+ const useAverageSize = !state.disableScrollJumpsFrom && speed >= 0 && peek$(ctx, "containersDidLayout");
1338
1338
  if (!state.queuedInitialLayout && initialScrollIndex) {
1339
1339
  const updatedOffset = calculateOffsetForIndex(initialScrollIndex);
1340
1340
  scrollState = updatedOffset;
@@ -1364,7 +1364,6 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1364
1364
  }
1365
1365
  }
1366
1366
  const scrollBottom = scroll + scrollLength;
1367
- const prevStartBuffered = state.startBuffered;
1368
1367
  const prevEndBuffered = state.endBuffered;
1369
1368
  let startNoBuffer = null;
1370
1369
  let startBuffered = null;
@@ -1416,7 +1415,8 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1416
1415
  }
1417
1416
  return topOffset;
1418
1417
  };
1419
- for (let i = Math.max(0, loopStart); i < data.length; i++) {
1418
+ let foundEnd = false;
1419
+ for (let i = Math.max(0, loopStart); i < data.length && (!foundEnd || i <= prevEndBuffered); i++) {
1420
1420
  const id = getId(i);
1421
1421
  const size = getItemSize(id, i, data[i], useAverageSize);
1422
1422
  maxSizeInRow = Math.max(maxSizeInRow, size);
@@ -1429,21 +1429,23 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1429
1429
  if (columns.get(id) !== column) {
1430
1430
  columns.set(id, column);
1431
1431
  }
1432
- if (startNoBuffer === null && top + size > scroll) {
1433
- startNoBuffer = i;
1434
- }
1435
- if (startBuffered === null && top + size > scroll - scrollBufferTop) {
1436
- startBuffered = i;
1437
- startBufferedId = id;
1438
- }
1439
- if (startNoBuffer !== null) {
1440
- if (top <= scrollBottom) {
1441
- endNoBuffer = i;
1432
+ if (!foundEnd) {
1433
+ if (startNoBuffer === null && top + size > scroll) {
1434
+ startNoBuffer = i;
1442
1435
  }
1443
- if (top <= scrollBottom + scrollBufferBottom) {
1444
- endBuffered = i;
1445
- } else {
1446
- break;
1436
+ if (startBuffered === null && top + size > scroll - scrollBufferTop) {
1437
+ startBuffered = i;
1438
+ startBufferedId = id;
1439
+ }
1440
+ if (startNoBuffer !== null) {
1441
+ if (top <= scrollBottom) {
1442
+ endNoBuffer = i;
1443
+ }
1444
+ if (top <= scrollBottom + scrollBufferBottom) {
1445
+ endBuffered = i;
1446
+ } else {
1447
+ foundEnd = true;
1448
+ }
1447
1449
  }
1448
1450
  }
1449
1451
  column++;
@@ -1545,18 +1547,14 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1545
1547
  const item = data[itemIndex];
1546
1548
  if (item !== void 0) {
1547
1549
  const id = getId(itemIndex);
1548
- if (itemKey !== id || itemIndex < startBuffered || itemIndex > endBuffered) {
1549
- const prevPos = peek$(ctx, `containerPosition${i}`);
1550
- const pos = positions.get(id) || 0;
1551
- const size = getItemSize(id, itemIndex, data[i]);
1552
- if (pos + size >= scroll && pos <= scrollBottom || prevPos + size >= scroll && prevPos <= scrollBottom || endBuffered < prevEndBuffered || startBuffered > prevStartBuffered) {
1553
- set$(ctx, `containerPosition${i}`, ANCHORED_POSITION_OUT_OF_VIEW);
1554
- }
1550
+ const position = positions.get(id);
1551
+ if (position === void 0) {
1552
+ set$(ctx, `containerPosition${i}`, ANCHORED_POSITION_OUT_OF_VIEW);
1555
1553
  } else {
1556
1554
  const pos = {
1557
1555
  type: "top",
1558
- relativeCoordinate: positions.get(id) || 0,
1559
- top: positions.get(id) || 0
1556
+ relativeCoordinate: positions.get(id),
1557
+ top: positions.get(id)
1560
1558
  };
1561
1559
  const column2 = columns.get(id) || 1;
1562
1560
  if (maintainVisibleContentPosition && itemIndex < anchorElementIndex) {
@@ -1930,11 +1928,10 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1930
1928
  return { index, item: data[index], renderedItem };
1931
1929
  }, []);
1932
1930
  const doInitialAllocateContainers = () => {
1933
- var _a;
1934
1931
  const state = refState.current;
1935
1932
  const { scrollLength, data } = state;
1936
1933
  if (scrollLength > 0 && data.length > 0 && !peek$(ctx, "numContainers")) {
1937
- const averageItemSize = (_a = estimatedItemSize != null ? estimatedItemSize : getEstimatedItemSize == null ? void 0 : getEstimatedItemSize(0, data[0])) != null ? _a : DEFAULT_ITEM_SIZE;
1934
+ const averageItemSize = getEstimatedItemSize ? getEstimatedItemSize(0, data[0]) : estimatedItemSize;
1938
1935
  const numContainers = Math.ceil((scrollLength + scrollBuffer * 2) / averageItemSize) * numColumnsProp;
1939
1936
  for (let i = 0; i < numContainers; i++) {
1940
1937
  set$(ctx, `containerPosition${i}`, ANCHORED_POSITION_OUT_OF_VIEW);
@@ -1985,6 +1982,7 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
1985
1982
  const numColumns = peek$(ctx, "numColumns");
1986
1983
  state.minIndexSizeChanged = state.minIndexSizeChanged !== void 0 ? Math.min(state.minIndexSizeChanged, index) : index;
1987
1984
  const prevSize = getItemSize(itemKey, index, data);
1985
+ const prevSizeKnown = sizesKnown.get(itemKey);
1988
1986
  let needsCalculate = false;
1989
1987
  let needsUpdateContainersDidLayout = false;
1990
1988
  sizesKnown.set(itemKey, size);
@@ -2027,7 +2025,9 @@ var LegendListInner = typedForwardRef(function LegendListInner2(props, forwarded
2027
2025
  }
2028
2026
  state.scrollForNextCalculateItemsInView = void 0;
2029
2027
  addTotalSize(itemKey, diff, 0);
2030
- doMaintainScrollAtEnd(false);
2028
+ if (prevSizeKnown !== void 0 && Math.abs(prevSizeKnown - size) > 5) {
2029
+ doMaintainScrollAtEnd(false);
2030
+ }
2031
2031
  if (onItemSizeChanged) {
2032
2032
  onItemSizeChanged({
2033
2033
  size,
@@ -1,141 +1,16 @@
1
- import * as react_native_reanimated_lib_typescript_layoutReanimation_animationBuilder_Keyframe from 'react-native-reanimated/lib/typescript/layoutReanimation/animationBuilder/Keyframe';
2
- import * as react_native_reanimated from 'react-native-reanimated';
3
- import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
4
1
  import * as _legendapp_list from '@legendapp/list';
5
2
  import { LegendListRef } from '@legendapp/list';
3
+ import * as react_native_reanimated_lib_typescript_layoutReanimation_animationBuilder_Keyframe from 'react-native-reanimated/lib/typescript/layoutReanimation/animationBuilder/Keyframe';
6
4
  import * as react_native from 'react-native';
7
5
  import { Insets } from 'react-native';
6
+ import * as react_native_reanimated from 'react-native-reanimated';
7
+ import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
8
8
  import * as React from 'react';
9
9
 
10
- declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews"> & {
11
- alignItemsAtEnd?: boolean;
12
- columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
13
- data: readonly T[];
14
- drawDistance?: number;
15
- estimatedItemSize?: number;
16
- extraData?: any;
17
- getEstimatedItemSize?: ((index: number, item: T) => number) | undefined;
18
- initialContainerPoolRatio?: number | undefined;
19
- initialScrollOffset?: number;
20
- initialScrollIndex?: number;
21
- ItemSeparatorComponent?: React.ComponentType<{
22
- leadingItem: T;
23
- }> | undefined;
24
- keyExtractor?: ((item: T, index: number) => string) | undefined;
25
- ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
26
- ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
27
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
28
- ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
29
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
30
- maintainScrollAtEnd?: boolean;
31
- maintainScrollAtEndThreshold?: number;
32
- maintainVisibleContentPosition?: boolean;
33
- numColumns?: number;
34
- onEndReached?: ((info: {
35
- distanceFromEnd: number;
36
- }) => void) | null | undefined;
37
- onEndReachedThreshold?: number | null | undefined;
38
- onItemSizeChanged?: ((info: {
39
- size: number;
40
- previous: number;
41
- index: number;
42
- itemKey: string;
43
- itemData: T;
44
- }) => void) | undefined;
45
- onRefresh?: () => void;
46
- onStartReached?: ((info: {
47
- distanceFromStart: number;
48
- }) => void) | null | undefined;
49
- onStartReachedThreshold?: number | null | undefined;
50
- onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
51
- progressViewOffset?: number;
52
- recycleItems?: boolean;
53
- refScrollView?: React.Ref<react_native.ScrollView>;
54
- refreshing?: boolean;
55
- renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T>) => React.ReactNode) | undefined;
56
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
57
- suggestEstimatedItemSize?: boolean;
58
- viewabilityConfig?: _legendapp_list.ViewabilityConfig;
59
- viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
60
- waitForInitialLayout?: boolean;
61
- } & React.RefAttributes<LegendListRef>) => React.ReactNode) | react_native.Animated.AnimatedComponent<(<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews"> & {
62
- alignItemsAtEnd?: boolean;
63
- columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
64
- data: readonly T[];
65
- drawDistance?: number;
66
- estimatedItemSize?: number;
67
- extraData?: any;
68
- getEstimatedItemSize?: ((index: number, item: T) => number) | undefined;
69
- initialContainerPoolRatio?: number | undefined;
70
- initialScrollOffset?: number;
71
- initialScrollIndex?: number;
72
- ItemSeparatorComponent?: React.ComponentType<{
73
- leadingItem: T;
74
- }> | undefined;
75
- keyExtractor?: ((item: T, index: number) => string) | undefined;
76
- ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
77
- ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
78
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
79
- ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
80
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
81
- maintainScrollAtEnd?: boolean;
82
- maintainScrollAtEndThreshold?: number;
83
- maintainVisibleContentPosition?: boolean;
84
- numColumns?: number;
85
- onEndReached?: ((info: {
86
- distanceFromEnd: number;
87
- }) => void) | null | undefined;
88
- onEndReachedThreshold?: number | null | undefined;
89
- onItemSizeChanged?: ((info: {
90
- size: number;
91
- previous: number;
92
- index: number;
93
- itemKey: string;
94
- itemData: T;
95
- }) => void) | undefined;
96
- onRefresh?: () => void;
97
- onStartReached?: ((info: {
98
- distanceFromStart: number;
99
- }) => void) | null | undefined;
100
- onStartReachedThreshold?: number | null | undefined;
101
- onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
102
- progressViewOffset?: number;
103
- recycleItems?: boolean;
104
- refScrollView?: React.Ref<react_native.ScrollView>;
105
- refreshing?: boolean;
106
- renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T>) => React.ReactNode) | undefined;
107
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
108
- suggestEstimatedItemSize?: boolean;
109
- viewabilityConfig?: _legendapp_list.ViewabilityConfig;
110
- viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
111
- waitForInitialLayout?: boolean;
112
- } & React.RefAttributes<LegendListRef>) => React.ReactNode)> | (<ItemT_1>(props: Omit<_legendapp_list_reanimated.AnimatedLegendListPropsBase<ItemT_1>, "refLegendList"> & {
10
+ declare const LegendList: <ItemT, ListT extends (<ItemT_1>(props: Omit<_legendapp_list_reanimated.AnimatedLegendListPropsBase<ItemT_1>, "refLegendList"> & {
113
11
  getEstimatedItemSize?: ((index: number, item: ItemT_1) => number) | undefined;
114
- ItemSeparatorComponent?: React.ComponentType<{
115
- leadingItem: ItemT_1;
116
- }> | undefined;
117
12
  keyExtractor?: ((item: ItemT_1, index: number) => string) | undefined;
118
- onItemSizeChanged?: ((info: {
119
- size: number;
120
- previous: number;
121
- index: number;
122
- itemKey: string;
123
- itemData: ItemT_1;
124
- }) => void) | undefined;
125
- renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<ItemT_1>) => React.ReactNode) | undefined;
126
13
  animatedProps?: Partial<{
127
- contentOffset?: react_native.PointProp | react_native_reanimated.SharedValue<react_native.PointProp | undefined> | undefined;
128
- contentInset?: Insets | react_native_reanimated.SharedValue<Insets | undefined> | undefined;
129
- maintainVisibleContentPosition?: {
130
- autoscrollToTopThreshold?: number | null | undefined;
131
- minIndexForVisible: number;
132
- } | react_native_reanimated.SharedValue<{
133
- autoscrollToTopThreshold?: number | null | undefined;
134
- minIndexForVisible: number;
135
- } | null | undefined> | null | undefined;
136
- stickyHeaderIndices?: number[] | react_native_reanimated.SharedValue<number[] | undefined> | undefined;
137
- removeClippedSubviews?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
138
- scrollEventThrottle?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
139
14
  decelerationRate?: number | "fast" | "normal" | react_native_reanimated.SharedValue<number | "fast" | "normal" | undefined> | undefined;
140
15
  horizontal?: boolean | react_native_reanimated.SharedValue<boolean | null | undefined> | null | undefined;
141
16
  invertStickyHeaders?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
@@ -149,6 +24,7 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
149
24
  onMomentumScrollBegin?: ((event: react_native.NativeSyntheticEvent<react_native.NativeScrollEvent>) => void) | react_native_reanimated.SharedValue<((event: react_native.NativeSyntheticEvent<react_native.NativeScrollEvent>) => void) | undefined> | undefined;
150
25
  pagingEnabled?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
151
26
  scrollEnabled?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
27
+ removeClippedSubviews?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
152
28
  showsHorizontalScrollIndicator?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
153
29
  showsVerticalScrollIndicator?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
154
30
  stickyHeaderHiddenOnScroll?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
@@ -157,6 +33,7 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
157
33
  snapToOffsets?: number[] | react_native_reanimated.SharedValue<number[] | undefined> | undefined;
158
34
  snapToStart?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
159
35
  snapToEnd?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
36
+ stickyHeaderIndices?: number[] | react_native_reanimated.SharedValue<number[] | undefined> | undefined;
160
37
  disableIntervalMomentum?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
161
38
  disableScrollViewPanResponder?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
162
39
  StickyHeaderComponent?: React.ComponentType<any> | react_native_reanimated.SharedValue<React.ComponentType<any> | undefined> | undefined;
@@ -260,16 +137,26 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
260
137
  bouncesZoom?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
261
138
  canCancelContentTouches?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
262
139
  centerContent?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
140
+ contentInset?: Insets | react_native_reanimated.SharedValue<Insets | undefined> | undefined;
141
+ contentOffset?: react_native.PointProp | react_native_reanimated.SharedValue<react_native.PointProp | undefined> | undefined;
263
142
  contentInsetAdjustmentBehavior?: "always" | "never" | "automatic" | "scrollableAxes" | react_native_reanimated.SharedValue<"always" | "never" | "automatic" | "scrollableAxes" | undefined> | undefined;
264
143
  directionalLockEnabled?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
144
+ maintainVisibleContentPosition?: {
145
+ autoscrollToTopThreshold?: number | null | undefined;
146
+ minIndexForVisible: number;
147
+ } | react_native_reanimated.SharedValue<{
148
+ autoscrollToTopThreshold?: number | null | undefined;
149
+ minIndexForVisible: number;
150
+ } | null | undefined> | null | undefined;
265
151
  maximumZoomScale?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
266
152
  minimumZoomScale?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
267
153
  onScrollAnimationEnd?: (() => void) | react_native_reanimated.SharedValue<(() => void) | undefined> | undefined;
268
154
  pinchGestureEnabled?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
155
+ scrollEventThrottle?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
269
156
  scrollIndicatorInsets?: Insets | react_native_reanimated.SharedValue<Insets | undefined> | undefined;
270
157
  scrollToOverflowEnabled?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
271
158
  scrollsToTop?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
272
- snapToAlignment?: "end" | "start" | "center" | react_native_reanimated.SharedValue<"end" | "start" | "center" | undefined> | undefined;
159
+ snapToAlignment?: "center" | "start" | "end" | react_native_reanimated.SharedValue<"center" | "start" | "end" | undefined> | undefined;
273
160
  onScrollToTop?: ((event: react_native.NativeSyntheticEvent<react_native.NativeScrollEvent>) => void) | react_native_reanimated.SharedValue<((event: react_native.NativeSyntheticEvent<react_native.NativeScrollEvent>) => void) | undefined> | undefined;
274
161
  zoomScale?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
275
162
  endFillColor?: react_native.ColorValue | react_native_reanimated.SharedValue<react_native.ColorValue | undefined> | undefined;
@@ -279,8 +166,8 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
279
166
  fadingEdgeLength?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
280
167
  persistentScrollbar?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
281
168
  } & {
282
- contentContainerStyle?: react_native.StyleProp<react_native_reanimated.AnimatedStyle<react_native.StyleProp<react_native.ViewStyle>>>;
283
169
  style?: react_native.StyleProp<react_native_reanimated.AnimatedStyle<react_native.StyleProp<react_native.ViewStyle>>>;
170
+ contentContainerStyle?: react_native.StyleProp<react_native_reanimated.AnimatedStyle<react_native.StyleProp<react_native.ViewStyle>>>;
284
171
  indicatorStyle?: react_native.StyleProp<react_native_reanimated.AnimatedStyle<"default" | "black" | "white" | undefined>>;
285
172
  } & {
286
173
  layout?: react_native_reanimated.BaseAnimationBuilder | react_native_reanimated.LayoutAnimationFunction | typeof react_native_reanimated.BaseAnimationBuilder;
@@ -290,9 +177,122 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
290
177
  sharedTransitionTag?: string;
291
178
  sharedTransitionStyle?: react_native_reanimated.SharedTransition;
292
179
  }> | undefined;
180
+ renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<ItemT_1>) => React.ReactNode) | undefined;
181
+ onItemSizeChanged?: ((info: {
182
+ size: number;
183
+ previous: number;
184
+ index: number;
185
+ itemKey: string;
186
+ itemData: ItemT_1;
187
+ }) => void) | undefined;
188
+ ItemSeparatorComponent?: React.ComponentType<{
189
+ leadingItem: ItemT_1;
190
+ }> | undefined;
293
191
  } & {
294
192
  ref?: React.Ref<LegendListRef>;
295
- }) => React.ReactElement | null) = <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews"> & {
193
+ }) => React.ReactElement | null) | (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "removeClippedSubviews" | "stickyHeaderIndices" | "contentInset" | "contentOffset" | "maintainVisibleContentPosition"> & {
194
+ alignItemsAtEnd?: boolean;
195
+ columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
196
+ data: readonly T[];
197
+ drawDistance?: number;
198
+ estimatedItemSize?: number;
199
+ extraData?: any;
200
+ getEstimatedItemSize?: ((index: number, item: T) => number) | undefined;
201
+ initialContainerPoolRatio?: number | undefined;
202
+ initialScrollOffset?: number;
203
+ initialScrollIndex?: number;
204
+ ItemSeparatorComponent?: React.ComponentType<{
205
+ leadingItem: T;
206
+ }> | undefined;
207
+ keyExtractor?: ((item: T, index: number) => string) | undefined;
208
+ ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
209
+ ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
210
+ ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
211
+ ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
212
+ ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
213
+ maintainScrollAtEnd?: boolean;
214
+ maintainScrollAtEndThreshold?: number;
215
+ maintainVisibleContentPosition?: boolean;
216
+ numColumns?: number;
217
+ onEndReached?: ((info: {
218
+ distanceFromEnd: number;
219
+ }) => void) | null | undefined;
220
+ onEndReachedThreshold?: number | null | undefined;
221
+ onItemSizeChanged?: ((info: {
222
+ size: number;
223
+ previous: number;
224
+ index: number;
225
+ itemKey: string;
226
+ itemData: T;
227
+ }) => void) | undefined;
228
+ onRefresh?: () => void;
229
+ onStartReached?: ((info: {
230
+ distanceFromStart: number;
231
+ }) => void) | null | undefined;
232
+ onStartReachedThreshold?: number | null | undefined;
233
+ onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
234
+ progressViewOffset?: number;
235
+ recycleItems?: boolean;
236
+ refScrollView?: React.Ref<react_native.ScrollView>;
237
+ refreshing?: boolean;
238
+ renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T>) => React.ReactNode) | undefined;
239
+ renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
240
+ suggestEstimatedItemSize?: boolean;
241
+ viewabilityConfig?: _legendapp_list.ViewabilityConfig;
242
+ viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
243
+ waitForInitialLayout?: boolean;
244
+ } & React.RefAttributes<LegendListRef>) => React.ReactNode) | react_native.Animated.AnimatedComponent<(<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "removeClippedSubviews" | "stickyHeaderIndices" | "contentInset" | "contentOffset" | "maintainVisibleContentPosition"> & {
245
+ alignItemsAtEnd?: boolean;
246
+ columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
247
+ data: readonly T[];
248
+ drawDistance?: number;
249
+ estimatedItemSize?: number;
250
+ extraData?: any;
251
+ getEstimatedItemSize?: ((index: number, item: T) => number) | undefined;
252
+ initialContainerPoolRatio?: number | undefined;
253
+ initialScrollOffset?: number;
254
+ initialScrollIndex?: number;
255
+ ItemSeparatorComponent?: React.ComponentType<{
256
+ leadingItem: T;
257
+ }> | undefined;
258
+ keyExtractor?: ((item: T, index: number) => string) | undefined;
259
+ ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
260
+ ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
261
+ ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
262
+ ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
263
+ ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
264
+ maintainScrollAtEnd?: boolean;
265
+ maintainScrollAtEndThreshold?: number;
266
+ maintainVisibleContentPosition?: boolean;
267
+ numColumns?: number;
268
+ onEndReached?: ((info: {
269
+ distanceFromEnd: number;
270
+ }) => void) | null | undefined;
271
+ onEndReachedThreshold?: number | null | undefined;
272
+ onItemSizeChanged?: ((info: {
273
+ size: number;
274
+ previous: number;
275
+ index: number;
276
+ itemKey: string;
277
+ itemData: T;
278
+ }) => void) | undefined;
279
+ onRefresh?: () => void;
280
+ onStartReached?: ((info: {
281
+ distanceFromStart: number;
282
+ }) => void) | null | undefined;
283
+ onStartReachedThreshold?: number | null | undefined;
284
+ onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
285
+ progressViewOffset?: number;
286
+ recycleItems?: boolean;
287
+ refScrollView?: React.Ref<react_native.ScrollView>;
288
+ refreshing?: boolean;
289
+ renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T>) => React.ReactNode) | undefined;
290
+ renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
291
+ suggestEstimatedItemSize?: boolean;
292
+ viewabilityConfig?: _legendapp_list.ViewabilityConfig;
293
+ viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
294
+ waitForInitialLayout?: boolean;
295
+ } & React.RefAttributes<LegendListRef>) => React.ReactNode)> = <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "removeClippedSubviews" | "stickyHeaderIndices" | "contentInset" | "contentOffset" | "maintainVisibleContentPosition"> & {
296
296
  alignItemsAtEnd?: boolean;
297
297
  columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
298
298
  data: readonly T[];
@@ -343,7 +343,7 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
343
343
  viewabilityConfig?: _legendapp_list.ViewabilityConfig;
344
344
  viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
345
345
  waitForInitialLayout?: boolean;
346
- } & React.RefAttributes<LegendListRef>) => React.ReactNode>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews"> & {
346
+ } & React.RefAttributes<LegendListRef>) => React.ReactNode>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "removeClippedSubviews" | "stickyHeaderIndices" | "contentInset" | "contentOffset" | "maintainVisibleContentPosition"> & {
347
347
  alignItemsAtEnd?: boolean;
348
348
  columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
349
349
  data: readonly ItemT[];
@@ -1,141 +1,16 @@
1
- import * as react_native_reanimated_lib_typescript_layoutReanimation_animationBuilder_Keyframe from 'react-native-reanimated/lib/typescript/layoutReanimation/animationBuilder/Keyframe';
2
- import * as react_native_reanimated from 'react-native-reanimated';
3
- import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
4
1
  import * as _legendapp_list from '@legendapp/list';
5
2
  import { LegendListRef } from '@legendapp/list';
3
+ import * as react_native_reanimated_lib_typescript_layoutReanimation_animationBuilder_Keyframe from 'react-native-reanimated/lib/typescript/layoutReanimation/animationBuilder/Keyframe';
6
4
  import * as react_native from 'react-native';
7
5
  import { Insets } from 'react-native';
6
+ import * as react_native_reanimated from 'react-native-reanimated';
7
+ import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
8
8
  import * as React from 'react';
9
9
 
10
- declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews"> & {
11
- alignItemsAtEnd?: boolean;
12
- columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
13
- data: readonly T[];
14
- drawDistance?: number;
15
- estimatedItemSize?: number;
16
- extraData?: any;
17
- getEstimatedItemSize?: ((index: number, item: T) => number) | undefined;
18
- initialContainerPoolRatio?: number | undefined;
19
- initialScrollOffset?: number;
20
- initialScrollIndex?: number;
21
- ItemSeparatorComponent?: React.ComponentType<{
22
- leadingItem: T;
23
- }> | undefined;
24
- keyExtractor?: ((item: T, index: number) => string) | undefined;
25
- ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
26
- ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
27
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
28
- ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
29
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
30
- maintainScrollAtEnd?: boolean;
31
- maintainScrollAtEndThreshold?: number;
32
- maintainVisibleContentPosition?: boolean;
33
- numColumns?: number;
34
- onEndReached?: ((info: {
35
- distanceFromEnd: number;
36
- }) => void) | null | undefined;
37
- onEndReachedThreshold?: number | null | undefined;
38
- onItemSizeChanged?: ((info: {
39
- size: number;
40
- previous: number;
41
- index: number;
42
- itemKey: string;
43
- itemData: T;
44
- }) => void) | undefined;
45
- onRefresh?: () => void;
46
- onStartReached?: ((info: {
47
- distanceFromStart: number;
48
- }) => void) | null | undefined;
49
- onStartReachedThreshold?: number | null | undefined;
50
- onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
51
- progressViewOffset?: number;
52
- recycleItems?: boolean;
53
- refScrollView?: React.Ref<react_native.ScrollView>;
54
- refreshing?: boolean;
55
- renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T>) => React.ReactNode) | undefined;
56
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
57
- suggestEstimatedItemSize?: boolean;
58
- viewabilityConfig?: _legendapp_list.ViewabilityConfig;
59
- viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
60
- waitForInitialLayout?: boolean;
61
- } & React.RefAttributes<LegendListRef>) => React.ReactNode) | react_native.Animated.AnimatedComponent<(<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews"> & {
62
- alignItemsAtEnd?: boolean;
63
- columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
64
- data: readonly T[];
65
- drawDistance?: number;
66
- estimatedItemSize?: number;
67
- extraData?: any;
68
- getEstimatedItemSize?: ((index: number, item: T) => number) | undefined;
69
- initialContainerPoolRatio?: number | undefined;
70
- initialScrollOffset?: number;
71
- initialScrollIndex?: number;
72
- ItemSeparatorComponent?: React.ComponentType<{
73
- leadingItem: T;
74
- }> | undefined;
75
- keyExtractor?: ((item: T, index: number) => string) | undefined;
76
- ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
77
- ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
78
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
79
- ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
80
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
81
- maintainScrollAtEnd?: boolean;
82
- maintainScrollAtEndThreshold?: number;
83
- maintainVisibleContentPosition?: boolean;
84
- numColumns?: number;
85
- onEndReached?: ((info: {
86
- distanceFromEnd: number;
87
- }) => void) | null | undefined;
88
- onEndReachedThreshold?: number | null | undefined;
89
- onItemSizeChanged?: ((info: {
90
- size: number;
91
- previous: number;
92
- index: number;
93
- itemKey: string;
94
- itemData: T;
95
- }) => void) | undefined;
96
- onRefresh?: () => void;
97
- onStartReached?: ((info: {
98
- distanceFromStart: number;
99
- }) => void) | null | undefined;
100
- onStartReachedThreshold?: number | null | undefined;
101
- onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
102
- progressViewOffset?: number;
103
- recycleItems?: boolean;
104
- refScrollView?: React.Ref<react_native.ScrollView>;
105
- refreshing?: boolean;
106
- renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T>) => React.ReactNode) | undefined;
107
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
108
- suggestEstimatedItemSize?: boolean;
109
- viewabilityConfig?: _legendapp_list.ViewabilityConfig;
110
- viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
111
- waitForInitialLayout?: boolean;
112
- } & React.RefAttributes<LegendListRef>) => React.ReactNode)> | (<ItemT_1>(props: Omit<_legendapp_list_reanimated.AnimatedLegendListPropsBase<ItemT_1>, "refLegendList"> & {
10
+ declare const LegendList: <ItemT, ListT extends (<ItemT_1>(props: Omit<_legendapp_list_reanimated.AnimatedLegendListPropsBase<ItemT_1>, "refLegendList"> & {
113
11
  getEstimatedItemSize?: ((index: number, item: ItemT_1) => number) | undefined;
114
- ItemSeparatorComponent?: React.ComponentType<{
115
- leadingItem: ItemT_1;
116
- }> | undefined;
117
12
  keyExtractor?: ((item: ItemT_1, index: number) => string) | undefined;
118
- onItemSizeChanged?: ((info: {
119
- size: number;
120
- previous: number;
121
- index: number;
122
- itemKey: string;
123
- itemData: ItemT_1;
124
- }) => void) | undefined;
125
- renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<ItemT_1>) => React.ReactNode) | undefined;
126
13
  animatedProps?: Partial<{
127
- contentOffset?: react_native.PointProp | react_native_reanimated.SharedValue<react_native.PointProp | undefined> | undefined;
128
- contentInset?: Insets | react_native_reanimated.SharedValue<Insets | undefined> | undefined;
129
- maintainVisibleContentPosition?: {
130
- autoscrollToTopThreshold?: number | null | undefined;
131
- minIndexForVisible: number;
132
- } | react_native_reanimated.SharedValue<{
133
- autoscrollToTopThreshold?: number | null | undefined;
134
- minIndexForVisible: number;
135
- } | null | undefined> | null | undefined;
136
- stickyHeaderIndices?: number[] | react_native_reanimated.SharedValue<number[] | undefined> | undefined;
137
- removeClippedSubviews?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
138
- scrollEventThrottle?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
139
14
  decelerationRate?: number | "fast" | "normal" | react_native_reanimated.SharedValue<number | "fast" | "normal" | undefined> | undefined;
140
15
  horizontal?: boolean | react_native_reanimated.SharedValue<boolean | null | undefined> | null | undefined;
141
16
  invertStickyHeaders?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
@@ -149,6 +24,7 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
149
24
  onMomentumScrollBegin?: ((event: react_native.NativeSyntheticEvent<react_native.NativeScrollEvent>) => void) | react_native_reanimated.SharedValue<((event: react_native.NativeSyntheticEvent<react_native.NativeScrollEvent>) => void) | undefined> | undefined;
150
25
  pagingEnabled?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
151
26
  scrollEnabled?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
27
+ removeClippedSubviews?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
152
28
  showsHorizontalScrollIndicator?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
153
29
  showsVerticalScrollIndicator?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
154
30
  stickyHeaderHiddenOnScroll?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
@@ -157,6 +33,7 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
157
33
  snapToOffsets?: number[] | react_native_reanimated.SharedValue<number[] | undefined> | undefined;
158
34
  snapToStart?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
159
35
  snapToEnd?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
36
+ stickyHeaderIndices?: number[] | react_native_reanimated.SharedValue<number[] | undefined> | undefined;
160
37
  disableIntervalMomentum?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
161
38
  disableScrollViewPanResponder?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
162
39
  StickyHeaderComponent?: React.ComponentType<any> | react_native_reanimated.SharedValue<React.ComponentType<any> | undefined> | undefined;
@@ -260,16 +137,26 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
260
137
  bouncesZoom?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
261
138
  canCancelContentTouches?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
262
139
  centerContent?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
140
+ contentInset?: Insets | react_native_reanimated.SharedValue<Insets | undefined> | undefined;
141
+ contentOffset?: react_native.PointProp | react_native_reanimated.SharedValue<react_native.PointProp | undefined> | undefined;
263
142
  contentInsetAdjustmentBehavior?: "always" | "never" | "automatic" | "scrollableAxes" | react_native_reanimated.SharedValue<"always" | "never" | "automatic" | "scrollableAxes" | undefined> | undefined;
264
143
  directionalLockEnabled?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
144
+ maintainVisibleContentPosition?: {
145
+ autoscrollToTopThreshold?: number | null | undefined;
146
+ minIndexForVisible: number;
147
+ } | react_native_reanimated.SharedValue<{
148
+ autoscrollToTopThreshold?: number | null | undefined;
149
+ minIndexForVisible: number;
150
+ } | null | undefined> | null | undefined;
265
151
  maximumZoomScale?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
266
152
  minimumZoomScale?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
267
153
  onScrollAnimationEnd?: (() => void) | react_native_reanimated.SharedValue<(() => void) | undefined> | undefined;
268
154
  pinchGestureEnabled?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
155
+ scrollEventThrottle?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
269
156
  scrollIndicatorInsets?: Insets | react_native_reanimated.SharedValue<Insets | undefined> | undefined;
270
157
  scrollToOverflowEnabled?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
271
158
  scrollsToTop?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
272
- snapToAlignment?: "end" | "start" | "center" | react_native_reanimated.SharedValue<"end" | "start" | "center" | undefined> | undefined;
159
+ snapToAlignment?: "center" | "start" | "end" | react_native_reanimated.SharedValue<"center" | "start" | "end" | undefined> | undefined;
273
160
  onScrollToTop?: ((event: react_native.NativeSyntheticEvent<react_native.NativeScrollEvent>) => void) | react_native_reanimated.SharedValue<((event: react_native.NativeSyntheticEvent<react_native.NativeScrollEvent>) => void) | undefined> | undefined;
274
161
  zoomScale?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
275
162
  endFillColor?: react_native.ColorValue | react_native_reanimated.SharedValue<react_native.ColorValue | undefined> | undefined;
@@ -279,8 +166,8 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
279
166
  fadingEdgeLength?: number | react_native_reanimated.SharedValue<number | undefined> | undefined;
280
167
  persistentScrollbar?: boolean | react_native_reanimated.SharedValue<boolean | undefined> | undefined;
281
168
  } & {
282
- contentContainerStyle?: react_native.StyleProp<react_native_reanimated.AnimatedStyle<react_native.StyleProp<react_native.ViewStyle>>>;
283
169
  style?: react_native.StyleProp<react_native_reanimated.AnimatedStyle<react_native.StyleProp<react_native.ViewStyle>>>;
170
+ contentContainerStyle?: react_native.StyleProp<react_native_reanimated.AnimatedStyle<react_native.StyleProp<react_native.ViewStyle>>>;
284
171
  indicatorStyle?: react_native.StyleProp<react_native_reanimated.AnimatedStyle<"default" | "black" | "white" | undefined>>;
285
172
  } & {
286
173
  layout?: react_native_reanimated.BaseAnimationBuilder | react_native_reanimated.LayoutAnimationFunction | typeof react_native_reanimated.BaseAnimationBuilder;
@@ -290,9 +177,122 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
290
177
  sharedTransitionTag?: string;
291
178
  sharedTransitionStyle?: react_native_reanimated.SharedTransition;
292
179
  }> | undefined;
180
+ renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<ItemT_1>) => React.ReactNode) | undefined;
181
+ onItemSizeChanged?: ((info: {
182
+ size: number;
183
+ previous: number;
184
+ index: number;
185
+ itemKey: string;
186
+ itemData: ItemT_1;
187
+ }) => void) | undefined;
188
+ ItemSeparatorComponent?: React.ComponentType<{
189
+ leadingItem: ItemT_1;
190
+ }> | undefined;
293
191
  } & {
294
192
  ref?: React.Ref<LegendListRef>;
295
- }) => React.ReactElement | null) = <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews"> & {
193
+ }) => React.ReactElement | null) | (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "removeClippedSubviews" | "stickyHeaderIndices" | "contentInset" | "contentOffset" | "maintainVisibleContentPosition"> & {
194
+ alignItemsAtEnd?: boolean;
195
+ columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
196
+ data: readonly T[];
197
+ drawDistance?: number;
198
+ estimatedItemSize?: number;
199
+ extraData?: any;
200
+ getEstimatedItemSize?: ((index: number, item: T) => number) | undefined;
201
+ initialContainerPoolRatio?: number | undefined;
202
+ initialScrollOffset?: number;
203
+ initialScrollIndex?: number;
204
+ ItemSeparatorComponent?: React.ComponentType<{
205
+ leadingItem: T;
206
+ }> | undefined;
207
+ keyExtractor?: ((item: T, index: number) => string) | undefined;
208
+ ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
209
+ ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
210
+ ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
211
+ ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
212
+ ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
213
+ maintainScrollAtEnd?: boolean;
214
+ maintainScrollAtEndThreshold?: number;
215
+ maintainVisibleContentPosition?: boolean;
216
+ numColumns?: number;
217
+ onEndReached?: ((info: {
218
+ distanceFromEnd: number;
219
+ }) => void) | null | undefined;
220
+ onEndReachedThreshold?: number | null | undefined;
221
+ onItemSizeChanged?: ((info: {
222
+ size: number;
223
+ previous: number;
224
+ index: number;
225
+ itemKey: string;
226
+ itemData: T;
227
+ }) => void) | undefined;
228
+ onRefresh?: () => void;
229
+ onStartReached?: ((info: {
230
+ distanceFromStart: number;
231
+ }) => void) | null | undefined;
232
+ onStartReachedThreshold?: number | null | undefined;
233
+ onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
234
+ progressViewOffset?: number;
235
+ recycleItems?: boolean;
236
+ refScrollView?: React.Ref<react_native.ScrollView>;
237
+ refreshing?: boolean;
238
+ renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T>) => React.ReactNode) | undefined;
239
+ renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
240
+ suggestEstimatedItemSize?: boolean;
241
+ viewabilityConfig?: _legendapp_list.ViewabilityConfig;
242
+ viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
243
+ waitForInitialLayout?: boolean;
244
+ } & React.RefAttributes<LegendListRef>) => React.ReactNode) | react_native.Animated.AnimatedComponent<(<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "removeClippedSubviews" | "stickyHeaderIndices" | "contentInset" | "contentOffset" | "maintainVisibleContentPosition"> & {
245
+ alignItemsAtEnd?: boolean;
246
+ columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
247
+ data: readonly T[];
248
+ drawDistance?: number;
249
+ estimatedItemSize?: number;
250
+ extraData?: any;
251
+ getEstimatedItemSize?: ((index: number, item: T) => number) | undefined;
252
+ initialContainerPoolRatio?: number | undefined;
253
+ initialScrollOffset?: number;
254
+ initialScrollIndex?: number;
255
+ ItemSeparatorComponent?: React.ComponentType<{
256
+ leadingItem: T;
257
+ }> | undefined;
258
+ keyExtractor?: ((item: T, index: number) => string) | undefined;
259
+ ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
260
+ ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
261
+ ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
262
+ ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
263
+ ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
264
+ maintainScrollAtEnd?: boolean;
265
+ maintainScrollAtEndThreshold?: number;
266
+ maintainVisibleContentPosition?: boolean;
267
+ numColumns?: number;
268
+ onEndReached?: ((info: {
269
+ distanceFromEnd: number;
270
+ }) => void) | null | undefined;
271
+ onEndReachedThreshold?: number | null | undefined;
272
+ onItemSizeChanged?: ((info: {
273
+ size: number;
274
+ previous: number;
275
+ index: number;
276
+ itemKey: string;
277
+ itemData: T;
278
+ }) => void) | undefined;
279
+ onRefresh?: () => void;
280
+ onStartReached?: ((info: {
281
+ distanceFromStart: number;
282
+ }) => void) | null | undefined;
283
+ onStartReachedThreshold?: number | null | undefined;
284
+ onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
285
+ progressViewOffset?: number;
286
+ recycleItems?: boolean;
287
+ refScrollView?: React.Ref<react_native.ScrollView>;
288
+ refreshing?: boolean;
289
+ renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T>) => React.ReactNode) | undefined;
290
+ renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
291
+ suggestEstimatedItemSize?: boolean;
292
+ viewabilityConfig?: _legendapp_list.ViewabilityConfig;
293
+ viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
294
+ waitForInitialLayout?: boolean;
295
+ } & React.RefAttributes<LegendListRef>) => React.ReactNode)> = <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "removeClippedSubviews" | "stickyHeaderIndices" | "contentInset" | "contentOffset" | "maintainVisibleContentPosition"> & {
296
296
  alignItemsAtEnd?: boolean;
297
297
  columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
298
298
  data: readonly T[];
@@ -343,7 +343,7 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
343
343
  viewabilityConfig?: _legendapp_list.ViewabilityConfig;
344
344
  viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
345
345
  waitForInitialLayout?: boolean;
346
- } & React.RefAttributes<LegendListRef>) => React.ReactNode>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews"> & {
346
+ } & React.RefAttributes<LegendListRef>) => React.ReactNode>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "removeClippedSubviews" | "stickyHeaderIndices" | "contentInset" | "contentOffset" | "maintainVisibleContentPosition"> & {
347
347
  alignItemsAtEnd?: boolean;
348
348
  columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
349
349
  data: readonly ItemT[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@legendapp/list",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
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,