@legendapp/list 2.0.0-next.20 → 2.0.0-next.21

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/animated.d.mts CHANGED
@@ -70,6 +70,8 @@ declare const AnimatedLegendList: Animated.AnimatedComponent<(<T>(props: Omit<Om
70
70
  getItemType?: ((item: T, index: number) => string | undefined) | undefined;
71
71
  getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
72
72
  itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
73
- } & React$1.RefAttributes<_legendapp_list.LegendListRef>) => React.ReactNode)>;
73
+ } & React$1.RefAttributes<_legendapp_list.LegendListRef>) => React.ReactNode) & {
74
+ displayName?: string;
75
+ }>;
74
76
 
75
77
  export { AnimatedLegendList };
package/animated.d.ts CHANGED
@@ -70,6 +70,8 @@ declare const AnimatedLegendList: Animated.AnimatedComponent<(<T>(props: Omit<Om
70
70
  getItemType?: ((item: T, index: number) => string | undefined) | undefined;
71
71
  getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
72
72
  itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
73
- } & React$1.RefAttributes<_legendapp_list.LegendListRef>) => React.ReactNode)>;
73
+ } & React$1.RefAttributes<_legendapp_list.LegendListRef>) => React.ReactNode) & {
74
+ displayName?: string;
75
+ }>;
74
76
 
75
77
  export { AnimatedLegendList };
package/index.d.mts CHANGED
@@ -1,9 +1,10 @@
1
- import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
2
1
  import * as React$1 from 'react';
3
2
  import { ComponentProps, ReactNode, Dispatch, SetStateAction } from 'react';
4
3
  import * as react_native from 'react-native';
5
4
  import { View, Animated, ScrollView, StyleProp, ViewStyle, ScrollViewProps, LayoutRectangle, ScrollViewComponent, ScrollResponderMixin } from 'react-native';
6
5
  import Animated$1 from 'react-native-reanimated';
6
+ import { AnimatedLegendList } from '@legendapp/list/animated';
7
+ import { AnimatedLegendList as AnimatedLegendList$1 } from '@legendapp/list/reanimated';
7
8
 
8
9
  type ListenerType = "numContainers" | "numContainersPooled" | `containerItemKey${number}` | `containerItemData${number}` | `containerPosition${number}` | `containerColumn${number}` | `containerSticky${number}` | `containerStickyOffset${number}` | "containersDidLayout" | "extraData" | "numColumns" | "lastItemKeys" | "totalSize" | "alignItemsPaddingTop" | "stylePaddingTop" | "scrollAdjust" | "scrollAdjustUserOffset" | "headerSize" | "footerSize" | "maintainVisibleContentPosition" | "debugRawScroll" | "debugComputedScroll" | "otherAxisSize" | "snapToOffsets" | "scrollSize";
9
10
  interface StateContext {
@@ -586,78 +587,7 @@ type GetRenderedItemResult<ItemT> = {
586
587
  };
587
588
  type GetRenderedItem = (key: string) => GetRenderedItemResult<any> | null;
588
589
 
589
- interface LazyLegendListProps<ItemT, ListT> extends Omit<LegendListProps<ItemT>, "data" | "keyExtractor" | "renderItem"> {
590
- children?: React$1.ReactNode | undefined;
591
- LegendList?: ListT;
592
- }
593
- declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
594
- alignItemsAtEnd?: boolean;
595
- columnWrapperStyle?: ColumnWrapperStyle;
596
- data: readonly T[];
597
- drawDistance?: number;
598
- estimatedItemSize?: number;
599
- estimatedListSize?: {
600
- height: number;
601
- width: number;
602
- };
603
- extraData?: any;
604
- getEstimatedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
605
- initialContainerPoolRatio?: number | undefined;
606
- initialScrollOffset?: number;
607
- initialScrollIndex?: number | {
608
- index: number;
609
- viewOffset?: number | undefined;
610
- viewPosition?: number | undefined;
611
- };
612
- ItemSeparatorComponent?: React$1.ComponentType<{
613
- leadingItem: T;
614
- }> | undefined;
615
- keyExtractor?: ((item: T, index: number) => string) | undefined;
616
- ListEmptyComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
617
- ListFooterComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
618
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
619
- ListHeaderComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
620
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
621
- maintainScrollAtEnd?: boolean | MaintainScrollAtEndOptions;
622
- maintainScrollAtEndThreshold?: number;
623
- maintainVisibleContentPosition?: boolean;
624
- numColumns?: number;
625
- onEndReached?: ((info: {
626
- distanceFromEnd: number;
627
- }) => void) | null | undefined;
628
- onEndReachedThreshold?: number | null | undefined;
629
- onItemSizeChanged?: ((info: {
630
- size: number;
631
- previous: number;
632
- index: number;
633
- itemKey: string;
634
- itemData: T;
635
- }) => void) | undefined;
636
- onRefresh?: () => void;
637
- onStartReached?: ((info: {
638
- distanceFromStart: number;
639
- }) => void) | null | undefined;
640
- onStartReachedThreshold?: number | null | undefined;
641
- onViewableItemsChanged?: OnViewableItemsChanged | undefined;
642
- progressViewOffset?: number;
643
- recycleItems?: boolean;
644
- refScrollView?: React$1.Ref<react_native.ScrollView>;
645
- refreshing?: boolean;
646
- renderItem?: ((props: LegendListRenderItemProps<T, string | undefined>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T, string | undefined>> | undefined;
647
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
648
- suggestEstimatedItemSize?: boolean;
649
- viewabilityConfig?: ViewabilityConfig;
650
- viewabilityConfigCallbackPairs?: ViewabilityConfigCallbackPairs | undefined;
651
- waitForInitialLayout?: boolean;
652
- onLoad?: (info: {
653
- elapsedTimeInMs: number;
654
- }) => void;
655
- snapToIndices?: number[];
656
- stickyIndices?: number[];
657
- getItemType?: ((item: T, index: number) => string | undefined) | undefined;
658
- getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
659
- itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
660
- } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode) | react_native.Animated.AnimatedComponent<(<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
590
+ declare const LegendList: (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
661
591
  alignItemsAtEnd?: boolean;
662
592
  columnWrapperStyle?: ColumnWrapperStyle;
663
593
  data: readonly T[];
@@ -708,76 +638,7 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
708
638
  onViewableItemsChanged?: OnViewableItemsChanged | undefined;
709
639
  progressViewOffset?: number;
710
640
  recycleItems?: boolean;
711
- refScrollView?: React$1.Ref<react_native.ScrollView>;
712
- refreshing?: boolean;
713
- renderItem?: ((props: LegendListRenderItemProps<T, string | undefined>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T, string | undefined>> | undefined;
714
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
715
- suggestEstimatedItemSize?: boolean;
716
- viewabilityConfig?: ViewabilityConfig;
717
- viewabilityConfigCallbackPairs?: ViewabilityConfigCallbackPairs | undefined;
718
- waitForInitialLayout?: boolean;
719
- onLoad?: (info: {
720
- elapsedTimeInMs: number;
721
- }) => void;
722
- snapToIndices?: number[];
723
- stickyIndices?: number[];
724
- getItemType?: ((item: T, index: number) => string | undefined) | undefined;
725
- getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
726
- itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
727
- } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode)> | (<ItemT_1>(props: _legendapp_list_reanimated.AnimatedLegendListProps<ItemT_1> & {
728
- ref?: React$1.Ref<LegendListRef>;
729
- }) => React$1.ReactElement | null) = <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
730
- alignItemsAtEnd?: boolean;
731
- columnWrapperStyle?: ColumnWrapperStyle;
732
- data: readonly T[];
733
- drawDistance?: number;
734
- estimatedItemSize?: number;
735
- estimatedListSize?: {
736
- height: number;
737
- width: number;
738
- };
739
- extraData?: any;
740
- getEstimatedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
741
- initialContainerPoolRatio?: number | undefined;
742
- initialScrollOffset?: number;
743
- initialScrollIndex?: number | {
744
- index: number;
745
- viewOffset?: number | undefined;
746
- viewPosition?: number | undefined;
747
- };
748
- ItemSeparatorComponent?: React$1.ComponentType<{
749
- leadingItem: T;
750
- }> | undefined;
751
- keyExtractor?: ((item: T, index: number) => string) | undefined;
752
- ListEmptyComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
753
- ListFooterComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
754
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
755
- ListHeaderComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
756
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
757
- maintainScrollAtEnd?: boolean | MaintainScrollAtEndOptions;
758
- maintainScrollAtEndThreshold?: number;
759
- maintainVisibleContentPosition?: boolean;
760
- numColumns?: number;
761
- onEndReached?: ((info: {
762
- distanceFromEnd: number;
763
- }) => void) | null | undefined;
764
- onEndReachedThreshold?: number | null | undefined;
765
- onItemSizeChanged?: ((info: {
766
- size: number;
767
- previous: number;
768
- index: number;
769
- itemKey: string;
770
- itemData: T;
771
- }) => void) | undefined;
772
- onRefresh?: () => void;
773
- onStartReached?: ((info: {
774
- distanceFromStart: number;
775
- }) => void) | null | undefined;
776
- onStartReachedThreshold?: number | null | undefined;
777
- onViewableItemsChanged?: OnViewableItemsChanged | undefined;
778
- progressViewOffset?: number;
779
- recycleItems?: boolean;
780
- refScrollView?: React$1.Ref<react_native.ScrollView>;
641
+ refScrollView?: React$1.Ref<ScrollView>;
781
642
  refreshing?: boolean;
782
643
  renderItem?: ((props: LegendListRenderItemProps<T, string | undefined>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T, string | undefined>> | undefined;
783
644
  renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
@@ -793,9 +654,15 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
793
654
  getItemType?: ((item: T, index: number) => string | undefined) | undefined;
794
655
  getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
795
656
  itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
796
- } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode>(props: LazyLegendListProps<ItemT, ListT> & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode;
657
+ } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode) & {
658
+ displayName?: string;
659
+ };
797
660
 
798
- declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
661
+ interface LazyLegendListProps<ItemT, ListT> extends Omit<LegendListProps<ItemT>, "data" | "keyExtractor" | "renderItem"> {
662
+ children?: React$1.ReactNode | undefined;
663
+ LegendList?: ListT;
664
+ }
665
+ declare const LazyLegendList: <ItemT, ListT extends typeof LegendList | typeof AnimatedLegendList | typeof AnimatedLegendList$1 = (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
799
666
  alignItemsAtEnd?: boolean;
800
667
  columnWrapperStyle?: ColumnWrapperStyle;
801
668
  data: readonly T[];
@@ -846,7 +713,7 @@ declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "sc
846
713
  onViewableItemsChanged?: OnViewableItemsChanged | undefined;
847
714
  progressViewOffset?: number;
848
715
  recycleItems?: boolean;
849
- refScrollView?: React$1.Ref<ScrollView>;
716
+ refScrollView?: React$1.Ref<react_native.ScrollView>;
850
717
  refreshing?: boolean;
851
718
  renderItem?: ((props: LegendListRenderItemProps<T, string | undefined>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T, string | undefined>> | undefined;
852
719
  renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
@@ -862,7 +729,9 @@ declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "sc
862
729
  getItemType?: ((item: T, index: number) => string | undefined) | undefined;
863
730
  getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
864
731
  itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
865
- } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode;
732
+ } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode) & {
733
+ displayName?: string;
734
+ }>(props: LazyLegendListProps<ItemT, ListT> & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode;
866
735
 
867
736
  declare function useViewability(callback: ViewabilityCallback, configId?: string): void;
868
737
  declare function useViewabilityAmount(callback: ViewabilityAmountCallback): void;
package/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
2
1
  import * as React$1 from 'react';
3
2
  import { ComponentProps, ReactNode, Dispatch, SetStateAction } from 'react';
4
3
  import * as react_native from 'react-native';
5
4
  import { View, Animated, ScrollView, StyleProp, ViewStyle, ScrollViewProps, LayoutRectangle, ScrollViewComponent, ScrollResponderMixin } from 'react-native';
6
5
  import Animated$1 from 'react-native-reanimated';
6
+ import { AnimatedLegendList } from '@legendapp/list/animated';
7
+ import { AnimatedLegendList as AnimatedLegendList$1 } from '@legendapp/list/reanimated';
7
8
 
8
9
  type ListenerType = "numContainers" | "numContainersPooled" | `containerItemKey${number}` | `containerItemData${number}` | `containerPosition${number}` | `containerColumn${number}` | `containerSticky${number}` | `containerStickyOffset${number}` | "containersDidLayout" | "extraData" | "numColumns" | "lastItemKeys" | "totalSize" | "alignItemsPaddingTop" | "stylePaddingTop" | "scrollAdjust" | "scrollAdjustUserOffset" | "headerSize" | "footerSize" | "maintainVisibleContentPosition" | "debugRawScroll" | "debugComputedScroll" | "otherAxisSize" | "snapToOffsets" | "scrollSize";
9
10
  interface StateContext {
@@ -586,78 +587,7 @@ type GetRenderedItemResult<ItemT> = {
586
587
  };
587
588
  type GetRenderedItem = (key: string) => GetRenderedItemResult<any> | null;
588
589
 
589
- interface LazyLegendListProps<ItemT, ListT> extends Omit<LegendListProps<ItemT>, "data" | "keyExtractor" | "renderItem"> {
590
- children?: React$1.ReactNode | undefined;
591
- LegendList?: ListT;
592
- }
593
- declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
594
- alignItemsAtEnd?: boolean;
595
- columnWrapperStyle?: ColumnWrapperStyle;
596
- data: readonly T[];
597
- drawDistance?: number;
598
- estimatedItemSize?: number;
599
- estimatedListSize?: {
600
- height: number;
601
- width: number;
602
- };
603
- extraData?: any;
604
- getEstimatedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
605
- initialContainerPoolRatio?: number | undefined;
606
- initialScrollOffset?: number;
607
- initialScrollIndex?: number | {
608
- index: number;
609
- viewOffset?: number | undefined;
610
- viewPosition?: number | undefined;
611
- };
612
- ItemSeparatorComponent?: React$1.ComponentType<{
613
- leadingItem: T;
614
- }> | undefined;
615
- keyExtractor?: ((item: T, index: number) => string) | undefined;
616
- ListEmptyComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
617
- ListFooterComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
618
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
619
- ListHeaderComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
620
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
621
- maintainScrollAtEnd?: boolean | MaintainScrollAtEndOptions;
622
- maintainScrollAtEndThreshold?: number;
623
- maintainVisibleContentPosition?: boolean;
624
- numColumns?: number;
625
- onEndReached?: ((info: {
626
- distanceFromEnd: number;
627
- }) => void) | null | undefined;
628
- onEndReachedThreshold?: number | null | undefined;
629
- onItemSizeChanged?: ((info: {
630
- size: number;
631
- previous: number;
632
- index: number;
633
- itemKey: string;
634
- itemData: T;
635
- }) => void) | undefined;
636
- onRefresh?: () => void;
637
- onStartReached?: ((info: {
638
- distanceFromStart: number;
639
- }) => void) | null | undefined;
640
- onStartReachedThreshold?: number | null | undefined;
641
- onViewableItemsChanged?: OnViewableItemsChanged | undefined;
642
- progressViewOffset?: number;
643
- recycleItems?: boolean;
644
- refScrollView?: React$1.Ref<react_native.ScrollView>;
645
- refreshing?: boolean;
646
- renderItem?: ((props: LegendListRenderItemProps<T, string | undefined>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T, string | undefined>> | undefined;
647
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
648
- suggestEstimatedItemSize?: boolean;
649
- viewabilityConfig?: ViewabilityConfig;
650
- viewabilityConfigCallbackPairs?: ViewabilityConfigCallbackPairs | undefined;
651
- waitForInitialLayout?: boolean;
652
- onLoad?: (info: {
653
- elapsedTimeInMs: number;
654
- }) => void;
655
- snapToIndices?: number[];
656
- stickyIndices?: number[];
657
- getItemType?: ((item: T, index: number) => string | undefined) | undefined;
658
- getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
659
- itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
660
- } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode) | react_native.Animated.AnimatedComponent<(<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
590
+ declare const LegendList: (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
661
591
  alignItemsAtEnd?: boolean;
662
592
  columnWrapperStyle?: ColumnWrapperStyle;
663
593
  data: readonly T[];
@@ -708,76 +638,7 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
708
638
  onViewableItemsChanged?: OnViewableItemsChanged | undefined;
709
639
  progressViewOffset?: number;
710
640
  recycleItems?: boolean;
711
- refScrollView?: React$1.Ref<react_native.ScrollView>;
712
- refreshing?: boolean;
713
- renderItem?: ((props: LegendListRenderItemProps<T, string | undefined>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T, string | undefined>> | undefined;
714
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
715
- suggestEstimatedItemSize?: boolean;
716
- viewabilityConfig?: ViewabilityConfig;
717
- viewabilityConfigCallbackPairs?: ViewabilityConfigCallbackPairs | undefined;
718
- waitForInitialLayout?: boolean;
719
- onLoad?: (info: {
720
- elapsedTimeInMs: number;
721
- }) => void;
722
- snapToIndices?: number[];
723
- stickyIndices?: number[];
724
- getItemType?: ((item: T, index: number) => string | undefined) | undefined;
725
- getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
726
- itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
727
- } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode)> | (<ItemT_1>(props: _legendapp_list_reanimated.AnimatedLegendListProps<ItemT_1> & {
728
- ref?: React$1.Ref<LegendListRef>;
729
- }) => React$1.ReactElement | null) = <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
730
- alignItemsAtEnd?: boolean;
731
- columnWrapperStyle?: ColumnWrapperStyle;
732
- data: readonly T[];
733
- drawDistance?: number;
734
- estimatedItemSize?: number;
735
- estimatedListSize?: {
736
- height: number;
737
- width: number;
738
- };
739
- extraData?: any;
740
- getEstimatedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
741
- initialContainerPoolRatio?: number | undefined;
742
- initialScrollOffset?: number;
743
- initialScrollIndex?: number | {
744
- index: number;
745
- viewOffset?: number | undefined;
746
- viewPosition?: number | undefined;
747
- };
748
- ItemSeparatorComponent?: React$1.ComponentType<{
749
- leadingItem: T;
750
- }> | undefined;
751
- keyExtractor?: ((item: T, index: number) => string) | undefined;
752
- ListEmptyComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
753
- ListFooterComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
754
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
755
- ListHeaderComponent?: React$1.ComponentType<any> | React$1.ReactElement | null | undefined;
756
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
757
- maintainScrollAtEnd?: boolean | MaintainScrollAtEndOptions;
758
- maintainScrollAtEndThreshold?: number;
759
- maintainVisibleContentPosition?: boolean;
760
- numColumns?: number;
761
- onEndReached?: ((info: {
762
- distanceFromEnd: number;
763
- }) => void) | null | undefined;
764
- onEndReachedThreshold?: number | null | undefined;
765
- onItemSizeChanged?: ((info: {
766
- size: number;
767
- previous: number;
768
- index: number;
769
- itemKey: string;
770
- itemData: T;
771
- }) => void) | undefined;
772
- onRefresh?: () => void;
773
- onStartReached?: ((info: {
774
- distanceFromStart: number;
775
- }) => void) | null | undefined;
776
- onStartReachedThreshold?: number | null | undefined;
777
- onViewableItemsChanged?: OnViewableItemsChanged | undefined;
778
- progressViewOffset?: number;
779
- recycleItems?: boolean;
780
- refScrollView?: React$1.Ref<react_native.ScrollView>;
641
+ refScrollView?: React$1.Ref<ScrollView>;
781
642
  refreshing?: boolean;
782
643
  renderItem?: ((props: LegendListRenderItemProps<T, string | undefined>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T, string | undefined>> | undefined;
783
644
  renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
@@ -793,9 +654,15 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
793
654
  getItemType?: ((item: T, index: number) => string | undefined) | undefined;
794
655
  getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
795
656
  itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
796
- } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode>(props: LazyLegendListProps<ItemT, ListT> & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode;
657
+ } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode) & {
658
+ displayName?: string;
659
+ };
797
660
 
798
- declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
661
+ interface LazyLegendListProps<ItemT, ListT> extends Omit<LegendListProps<ItemT>, "data" | "keyExtractor" | "renderItem"> {
662
+ children?: React$1.ReactNode | undefined;
663
+ LegendList?: ListT;
664
+ }
665
+ declare const LazyLegendList: <ItemT, ListT extends typeof LegendList | typeof AnimatedLegendList | typeof AnimatedLegendList$1 = (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
799
666
  alignItemsAtEnd?: boolean;
800
667
  columnWrapperStyle?: ColumnWrapperStyle;
801
668
  data: readonly T[];
@@ -846,7 +713,7 @@ declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "sc
846
713
  onViewableItemsChanged?: OnViewableItemsChanged | undefined;
847
714
  progressViewOffset?: number;
848
715
  recycleItems?: boolean;
849
- refScrollView?: React$1.Ref<ScrollView>;
716
+ refScrollView?: React$1.Ref<react_native.ScrollView>;
850
717
  refreshing?: boolean;
851
718
  renderItem?: ((props: LegendListRenderItemProps<T, string | undefined>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T, string | undefined>> | undefined;
852
719
  renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
@@ -862,7 +729,9 @@ declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "sc
862
729
  getItemType?: ((item: T, index: number) => string | undefined) | undefined;
863
730
  getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
864
731
  itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
865
- } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode;
732
+ } & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode) & {
733
+ displayName?: string;
734
+ }>(props: LazyLegendListProps<ItemT, ListT> & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode;
866
735
 
867
736
  declare function useViewability(callback: ViewabilityCallback, configId?: string): void;
868
737
  declare function useViewabilityAmount(callback: ViewabilityAmountCallback): void;
package/index.js CHANGED
@@ -2532,9 +2532,11 @@ function updateAveragesOnDataChange(state, oldData, newData) {
2532
2532
  // src/components/LegendList.tsx
2533
2533
  var DEFAULT_DRAW_DISTANCE = 250;
2534
2534
  var DEFAULT_ITEM_SIZE = 100;
2535
- var LegendList = typedForwardRef(function LegendList2(props, forwardedRef) {
2536
- return /* @__PURE__ */ React3__namespace.createElement(StateProvider, null, /* @__PURE__ */ React3__namespace.createElement(LegendListInner, { ...props, ref: forwardedRef }));
2537
- });
2535
+ var LegendList = typedMemo(
2536
+ typedForwardRef(function LegendList2(props, forwardedRef) {
2537
+ return /* @__PURE__ */ React3__namespace.createElement(StateProvider, null, /* @__PURE__ */ React3__namespace.createElement(LegendListInner, { ...props, ref: forwardedRef }));
2538
+ })
2539
+ );
2538
2540
  var LegendListInner = typedForwardRef(function LegendListInner2(props, forwardedRef) {
2539
2541
  var _a;
2540
2542
  const {
package/index.mjs CHANGED
@@ -2511,9 +2511,11 @@ function updateAveragesOnDataChange(state, oldData, newData) {
2511
2511
  // src/components/LegendList.tsx
2512
2512
  var DEFAULT_DRAW_DISTANCE = 250;
2513
2513
  var DEFAULT_ITEM_SIZE = 100;
2514
- var LegendList = typedForwardRef(function LegendList2(props, forwardedRef) {
2515
- return /* @__PURE__ */ React3.createElement(StateProvider, null, /* @__PURE__ */ React3.createElement(LegendListInner, { ...props, ref: forwardedRef }));
2516
- });
2514
+ var LegendList = typedMemo(
2515
+ typedForwardRef(function LegendList2(props, forwardedRef) {
2516
+ return /* @__PURE__ */ React3.createElement(StateProvider, null, /* @__PURE__ */ React3.createElement(LegendListInner, { ...props, ref: forwardedRef }));
2517
+ })
2518
+ );
2517
2519
  var LegendListInner = typedForwardRef(function LegendListInner2(props, forwardedRef) {
2518
2520
  var _a;
2519
2521
  const {
@@ -1,10 +1,11 @@
1
- import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
2
1
  import * as _legendapp_list from '@legendapp/list';
3
- import { LegendListRef } from '@legendapp/list';
2
+ import { LegendList as LegendList$1, LegendListRef } from '@legendapp/list';
4
3
  import * as react_native from 'react-native';
5
4
  import * as React from 'react';
5
+ import { AnimatedLegendList } from '@legendapp/list/animated';
6
+ import { AnimatedLegendList as AnimatedLegendList$1 } from '@legendapp/list/reanimated';
6
7
 
7
- declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
8
+ declare const LegendList: <ItemT, ListT extends typeof LegendList$1 | typeof AnimatedLegendList | typeof AnimatedLegendList$1 = (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
8
9
  alignItemsAtEnd?: boolean;
9
10
  columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
10
11
  data: readonly T[];
@@ -71,143 +72,9 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
71
72
  getItemType?: ((item: T, index: number) => string | undefined) | undefined;
72
73
  getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
73
74
  itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
74
- } & React.RefAttributes<LegendListRef>) => React.ReactNode) | react_native.Animated.AnimatedComponent<(<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
75
- alignItemsAtEnd?: boolean;
76
- columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
77
- data: readonly T[];
78
- drawDistance?: number;
79
- estimatedItemSize?: number;
80
- estimatedListSize?: {
81
- height: number;
82
- width: number;
83
- };
84
- extraData?: any;
85
- getEstimatedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
86
- initialContainerPoolRatio?: number | undefined;
87
- initialScrollOffset?: number;
88
- initialScrollIndex?: number | {
89
- index: number;
90
- viewOffset?: number | undefined;
91
- viewPosition?: number | undefined;
92
- };
93
- ItemSeparatorComponent?: React.ComponentType<{
94
- leadingItem: T;
95
- }> | undefined;
96
- keyExtractor?: ((item: T, index: number) => string) | undefined;
97
- ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
98
- ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
99
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
100
- ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
101
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
102
- maintainScrollAtEnd?: boolean | _legendapp_list.MaintainScrollAtEndOptions;
103
- maintainScrollAtEndThreshold?: number;
104
- maintainVisibleContentPosition?: boolean;
105
- numColumns?: number;
106
- onEndReached?: ((info: {
107
- distanceFromEnd: number;
108
- }) => void) | null | undefined;
109
- onEndReachedThreshold?: number | null | undefined;
110
- onItemSizeChanged?: ((info: {
111
- size: number;
112
- previous: number;
113
- index: number;
114
- itemKey: string;
115
- itemData: T;
116
- }) => void) | undefined;
117
- onRefresh?: () => void;
118
- onStartReached?: ((info: {
119
- distanceFromStart: number;
120
- }) => void) | null | undefined;
121
- onStartReachedThreshold?: number | null | undefined;
122
- onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
123
- progressViewOffset?: number;
124
- recycleItems?: boolean;
125
- refScrollView?: React.Ref<react_native.ScrollView>;
126
- refreshing?: boolean;
127
- renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T, string | undefined>) => React.ReactNode) | React.ComponentType<_legendapp_list.LegendListRenderItemProps<T, string | undefined>> | undefined;
128
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
129
- suggestEstimatedItemSize?: boolean;
130
- viewabilityConfig?: _legendapp_list.ViewabilityConfig;
131
- viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
132
- waitForInitialLayout?: boolean;
133
- onLoad?: (info: {
134
- elapsedTimeInMs: number;
135
- }) => void;
136
- snapToIndices?: number[];
137
- stickyIndices?: number[];
138
- getItemType?: ((item: T, index: number) => string | undefined) | undefined;
139
- getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
140
- itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
141
- } & React.RefAttributes<LegendListRef>) => React.ReactNode)> | (<ItemT_1>(props: _legendapp_list_reanimated.AnimatedLegendListProps<ItemT_1> & {
142
- ref?: React.Ref<LegendListRef>;
143
- }) => React.ReactElement | null) = <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
144
- alignItemsAtEnd?: boolean;
145
- columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
146
- data: readonly T[];
147
- drawDistance?: number;
148
- estimatedItemSize?: number;
149
- estimatedListSize?: {
150
- height: number;
151
- width: number;
152
- };
153
- extraData?: any;
154
- getEstimatedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
155
- initialContainerPoolRatio?: number | undefined;
156
- initialScrollOffset?: number;
157
- initialScrollIndex?: number | {
158
- index: number;
159
- viewOffset?: number | undefined;
160
- viewPosition?: number | undefined;
161
- };
162
- ItemSeparatorComponent?: React.ComponentType<{
163
- leadingItem: T;
164
- }> | undefined;
165
- keyExtractor?: ((item: T, index: number) => string) | undefined;
166
- ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
167
- ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
168
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
169
- ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
170
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
171
- maintainScrollAtEnd?: boolean | _legendapp_list.MaintainScrollAtEndOptions;
172
- maintainScrollAtEndThreshold?: number;
173
- maintainVisibleContentPosition?: boolean;
174
- numColumns?: number;
175
- onEndReached?: ((info: {
176
- distanceFromEnd: number;
177
- }) => void) | null | undefined;
178
- onEndReachedThreshold?: number | null | undefined;
179
- onItemSizeChanged?: ((info: {
180
- size: number;
181
- previous: number;
182
- index: number;
183
- itemKey: string;
184
- itemData: T;
185
- }) => void) | undefined;
186
- onRefresh?: () => void;
187
- onStartReached?: ((info: {
188
- distanceFromStart: number;
189
- }) => void) | null | undefined;
190
- onStartReachedThreshold?: number | null | undefined;
191
- onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
192
- progressViewOffset?: number;
193
- recycleItems?: boolean;
194
- refScrollView?: React.Ref<react_native.ScrollView>;
195
- refreshing?: boolean;
196
- renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T, string | undefined>) => React.ReactNode) | React.ComponentType<_legendapp_list.LegendListRenderItemProps<T, string | undefined>> | undefined;
197
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
198
- suggestEstimatedItemSize?: boolean;
199
- viewabilityConfig?: _legendapp_list.ViewabilityConfig;
200
- viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
201
- waitForInitialLayout?: boolean;
202
- onLoad?: (info: {
203
- elapsedTimeInMs: number;
204
- }) => void;
205
- snapToIndices?: number[];
206
- stickyIndices?: number[];
207
- getItemType?: ((item: T, index: number) => string | undefined) | undefined;
208
- getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
209
- itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
210
- } & React.RefAttributes<LegendListRef>) => React.ReactNode>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
75
+ } & React.RefAttributes<LegendListRef>) => React.ReactNode) & {
76
+ displayName?: string;
77
+ }>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
211
78
  alignItemsAtEnd?: boolean;
212
79
  columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
213
80
  data: readonly ItemT[];
@@ -1,10 +1,11 @@
1
- import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
2
1
  import * as _legendapp_list from '@legendapp/list';
3
- import { LegendListRef } from '@legendapp/list';
2
+ import { LegendList as LegendList$1, LegendListRef } from '@legendapp/list';
4
3
  import * as react_native from 'react-native';
5
4
  import * as React from 'react';
5
+ import { AnimatedLegendList } from '@legendapp/list/animated';
6
+ import { AnimatedLegendList as AnimatedLegendList$1 } from '@legendapp/list/reanimated';
6
7
 
7
- declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
8
+ declare const LegendList: <ItemT, ListT extends typeof LegendList$1 | typeof AnimatedLegendList | typeof AnimatedLegendList$1 = (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
8
9
  alignItemsAtEnd?: boolean;
9
10
  columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
10
11
  data: readonly T[];
@@ -71,143 +72,9 @@ declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_nati
71
72
  getItemType?: ((item: T, index: number) => string | undefined) | undefined;
72
73
  getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
73
74
  itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
74
- } & React.RefAttributes<LegendListRef>) => React.ReactNode) | react_native.Animated.AnimatedComponent<(<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
75
- alignItemsAtEnd?: boolean;
76
- columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
77
- data: readonly T[];
78
- drawDistance?: number;
79
- estimatedItemSize?: number;
80
- estimatedListSize?: {
81
- height: number;
82
- width: number;
83
- };
84
- extraData?: any;
85
- getEstimatedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
86
- initialContainerPoolRatio?: number | undefined;
87
- initialScrollOffset?: number;
88
- initialScrollIndex?: number | {
89
- index: number;
90
- viewOffset?: number | undefined;
91
- viewPosition?: number | undefined;
92
- };
93
- ItemSeparatorComponent?: React.ComponentType<{
94
- leadingItem: T;
95
- }> | undefined;
96
- keyExtractor?: ((item: T, index: number) => string) | undefined;
97
- ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
98
- ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
99
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
100
- ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
101
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
102
- maintainScrollAtEnd?: boolean | _legendapp_list.MaintainScrollAtEndOptions;
103
- maintainScrollAtEndThreshold?: number;
104
- maintainVisibleContentPosition?: boolean;
105
- numColumns?: number;
106
- onEndReached?: ((info: {
107
- distanceFromEnd: number;
108
- }) => void) | null | undefined;
109
- onEndReachedThreshold?: number | null | undefined;
110
- onItemSizeChanged?: ((info: {
111
- size: number;
112
- previous: number;
113
- index: number;
114
- itemKey: string;
115
- itemData: T;
116
- }) => void) | undefined;
117
- onRefresh?: () => void;
118
- onStartReached?: ((info: {
119
- distanceFromStart: number;
120
- }) => void) | null | undefined;
121
- onStartReachedThreshold?: number | null | undefined;
122
- onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
123
- progressViewOffset?: number;
124
- recycleItems?: boolean;
125
- refScrollView?: React.Ref<react_native.ScrollView>;
126
- refreshing?: boolean;
127
- renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T, string | undefined>) => React.ReactNode) | React.ComponentType<_legendapp_list.LegendListRenderItemProps<T, string | undefined>> | undefined;
128
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
129
- suggestEstimatedItemSize?: boolean;
130
- viewabilityConfig?: _legendapp_list.ViewabilityConfig;
131
- viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
132
- waitForInitialLayout?: boolean;
133
- onLoad?: (info: {
134
- elapsedTimeInMs: number;
135
- }) => void;
136
- snapToIndices?: number[];
137
- stickyIndices?: number[];
138
- getItemType?: ((item: T, index: number) => string | undefined) | undefined;
139
- getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
140
- itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
141
- } & React.RefAttributes<LegendListRef>) => React.ReactNode)> | (<ItemT_1>(props: _legendapp_list_reanimated.AnimatedLegendListProps<ItemT_1> & {
142
- ref?: React.Ref<LegendListRef>;
143
- }) => React.ReactElement | null) = <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
144
- alignItemsAtEnd?: boolean;
145
- columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
146
- data: readonly T[];
147
- drawDistance?: number;
148
- estimatedItemSize?: number;
149
- estimatedListSize?: {
150
- height: number;
151
- width: number;
152
- };
153
- extraData?: any;
154
- getEstimatedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
155
- initialContainerPoolRatio?: number | undefined;
156
- initialScrollOffset?: number;
157
- initialScrollIndex?: number | {
158
- index: number;
159
- viewOffset?: number | undefined;
160
- viewPosition?: number | undefined;
161
- };
162
- ItemSeparatorComponent?: React.ComponentType<{
163
- leadingItem: T;
164
- }> | undefined;
165
- keyExtractor?: ((item: T, index: number) => string) | undefined;
166
- ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
167
- ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
168
- ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
169
- ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined;
170
- ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined;
171
- maintainScrollAtEnd?: boolean | _legendapp_list.MaintainScrollAtEndOptions;
172
- maintainScrollAtEndThreshold?: number;
173
- maintainVisibleContentPosition?: boolean;
174
- numColumns?: number;
175
- onEndReached?: ((info: {
176
- distanceFromEnd: number;
177
- }) => void) | null | undefined;
178
- onEndReachedThreshold?: number | null | undefined;
179
- onItemSizeChanged?: ((info: {
180
- size: number;
181
- previous: number;
182
- index: number;
183
- itemKey: string;
184
- itemData: T;
185
- }) => void) | undefined;
186
- onRefresh?: () => void;
187
- onStartReached?: ((info: {
188
- distanceFromStart: number;
189
- }) => void) | null | undefined;
190
- onStartReachedThreshold?: number | null | undefined;
191
- onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined;
192
- progressViewOffset?: number;
193
- recycleItems?: boolean;
194
- refScrollView?: React.Ref<react_native.ScrollView>;
195
- refreshing?: boolean;
196
- renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T, string | undefined>) => React.ReactNode) | React.ComponentType<_legendapp_list.LegendListRenderItemProps<T, string | undefined>> | undefined;
197
- renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>;
198
- suggestEstimatedItemSize?: boolean;
199
- viewabilityConfig?: _legendapp_list.ViewabilityConfig;
200
- viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined;
201
- waitForInitialLayout?: boolean;
202
- onLoad?: (info: {
203
- elapsedTimeInMs: number;
204
- }) => void;
205
- snapToIndices?: number[];
206
- stickyIndices?: number[];
207
- getItemType?: ((item: T, index: number) => string | undefined) | undefined;
208
- getFixedItemSize?: ((index: number, item: T, type: string | undefined) => number) | undefined;
209
- itemsAreEqual?: ((itemPrevious: T, item: T, index: number, data: readonly T[]) => boolean) | undefined;
210
- } & React.RefAttributes<LegendListRef>) => React.ReactNode>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
75
+ } & React.RefAttributes<LegendListRef>) => React.ReactNode) & {
76
+ displayName?: string;
77
+ }>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
211
78
  alignItemsAtEnd?: boolean;
212
79
  columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle;
213
80
  data: readonly ItemT[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@legendapp/list",
3
- "version": "2.0.0-next.20",
3
+ "version": "2.0.0-next.21",
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/reanimated.js CHANGED
@@ -34,25 +34,27 @@ var useCombinedRef = (...refs) => {
34
34
  };
35
35
 
36
36
  // src/integrations/reanimated.tsx
37
- var LegendListForwardedRef = React__default.default.forwardRef(function LegendListForwardedRef2(props, ref) {
38
- const { refLegendList, ...rest } = props;
39
- return /* @__PURE__ */ React__default.default.createElement(
40
- list.LegendList,
41
- {
42
- ref: (r) => {
37
+ var typedMemo = React.memo;
38
+ var LegendListForwardedRef = typedMemo(
39
+ React__default.default.forwardRef(function LegendListForwardedRef2(props, ref) {
40
+ const { refLegendList, ...rest } = props;
41
+ const refFn = React.useCallback(
42
+ (r) => {
43
43
  refLegendList(r);
44
44
  },
45
- refScrollView: ref,
46
- ...rest
47
- }
48
- );
49
- });
45
+ [refLegendList]
46
+ );
47
+ return /* @__PURE__ */ React__default.default.createElement(list.LegendList, { ref: refFn, refScrollView: ref, ...rest });
48
+ })
49
+ );
50
50
  var AnimatedLegendListComponent = Animated__default.default.createAnimatedComponent(LegendListForwardedRef);
51
- var AnimatedLegendList = React__default.default.forwardRef(function AnimatedLegendList2(props, ref) {
52
- const { refScrollView, ...rest } = props;
53
- const refLegendList = React__default.default.useRef(null);
54
- const combinedRef = useCombinedRef(refLegendList, ref);
55
- return /* @__PURE__ */ React__default.default.createElement(AnimatedLegendListComponent, { ref: refScrollView, refLegendList: combinedRef, ...rest });
56
- });
51
+ var AnimatedLegendList = typedMemo(
52
+ React__default.default.forwardRef(function AnimatedLegendList2(props, ref) {
53
+ const { refScrollView, ...rest } = props;
54
+ const refLegendList = React__default.default.useRef(null);
55
+ const combinedRef = useCombinedRef(refLegendList, ref);
56
+ return /* @__PURE__ */ React__default.default.createElement(AnimatedLegendListComponent, { ref: refScrollView, refLegendList: combinedRef, ...rest });
57
+ })
58
+ );
57
59
 
58
60
  exports.AnimatedLegendList = AnimatedLegendList;
package/reanimated.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import React, { useCallback } from 'react';
1
+ import React, { useCallback, memo } from 'react';
2
2
  import Animated from 'react-native-reanimated';
3
3
  import { LegendList } from '@legendapp/list';
4
4
 
@@ -27,25 +27,27 @@ var useCombinedRef = (...refs) => {
27
27
  };
28
28
 
29
29
  // src/integrations/reanimated.tsx
30
- var LegendListForwardedRef = React.forwardRef(function LegendListForwardedRef2(props, ref) {
31
- const { refLegendList, ...rest } = props;
32
- return /* @__PURE__ */ React.createElement(
33
- LegendList,
34
- {
35
- ref: (r) => {
30
+ var typedMemo = memo;
31
+ var LegendListForwardedRef = typedMemo(
32
+ React.forwardRef(function LegendListForwardedRef2(props, ref) {
33
+ const { refLegendList, ...rest } = props;
34
+ const refFn = useCallback(
35
+ (r) => {
36
36
  refLegendList(r);
37
37
  },
38
- refScrollView: ref,
39
- ...rest
40
- }
41
- );
42
- });
38
+ [refLegendList]
39
+ );
40
+ return /* @__PURE__ */ React.createElement(LegendList, { ref: refFn, refScrollView: ref, ...rest });
41
+ })
42
+ );
43
43
  var AnimatedLegendListComponent = Animated.createAnimatedComponent(LegendListForwardedRef);
44
- var AnimatedLegendList = React.forwardRef(function AnimatedLegendList2(props, ref) {
45
- const { refScrollView, ...rest } = props;
46
- const refLegendList = React.useRef(null);
47
- const combinedRef = useCombinedRef(refLegendList, ref);
48
- return /* @__PURE__ */ React.createElement(AnimatedLegendListComponent, { ref: refScrollView, refLegendList: combinedRef, ...rest });
49
- });
44
+ var AnimatedLegendList = typedMemo(
45
+ React.forwardRef(function AnimatedLegendList2(props, ref) {
46
+ const { refScrollView, ...rest } = props;
47
+ const refLegendList = React.useRef(null);
48
+ const combinedRef = useCombinedRef(refLegendList, ref);
49
+ return /* @__PURE__ */ React.createElement(AnimatedLegendListComponent, { ref: refScrollView, refLegendList: combinedRef, ...rest });
50
+ })
51
+ );
50
52
 
51
53
  export { AnimatedLegendList };