@legendapp/list 2.0.0-next.2 → 2.0.0-next.4
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/{dist/index.d.mts → index.d.mts} +28 -21
- package/{dist/index.d.ts → index.d.ts} +28 -21
- package/{dist/index.js → index.js} +808 -760
- package/{dist/index.mjs → index.mjs} +808 -760
- package/{dist → integrations}/animated.d.mts +2 -1
- package/{dist → integrations}/animated.d.ts +2 -1
- package/{dist → integrations}/animated.js +2 -2
- package/{dist → integrations}/animated.mjs +2 -2
- package/{dist → integrations}/keyboard-controller.d.mts +4 -0
- package/{dist → integrations}/keyboard-controller.d.ts +4 -0
- package/{dist → integrations}/keyboard-controller.js +4 -4
- package/{dist → integrations}/keyboard-controller.mjs +4 -4
- package/{dist → integrations}/reanimated.js +7 -7
- package/{dist → integrations}/reanimated.mjs +7 -7
- package/package.json +34 -88
- package/.claude/settings.local.json +0 -8
- package/.cursor/rules/changelog.mdc +0 -60
- package/.github/FUNDING.yml +0 -15
- package/.gitignore +0 -5
- package/.prettierrc.json +0 -5
- package/.vscode/settings.json +0 -14
- package/CLAUDE.md +0 -126
- package/biome.json +0 -46
- package/bun.lock +0 -1289
- package/bunfig.toml +0 -2
- package/dist/CHANGELOG.md +0 -119
- package/dist/LICENSE +0 -21
- package/dist/README.md +0 -139
- package/dist/package.json +0 -35
- package/example/README.md +0 -40
- package/example/api/data/genres.json +0 -23
- package/example/api/data/playlist/10402-10749.json +0 -1
- package/example/api/data/playlist/10402-10770.json +0 -1
- package/example/api/data/playlist/10402-37.json +0 -1
- package/example/api/data/playlist/10749-10752.json +0 -1
- package/example/api/data/playlist/10749-10770.json +0 -1
- package/example/api/data/playlist/10749-37.json +0 -1
- package/example/api/data/playlist/10749-878.json +0 -1
- package/example/api/data/playlist/10751-10402.json +0 -1
- package/example/api/data/playlist/10751-10752.json +0 -1
- package/example/api/data/playlist/10751-37.json +0 -1
- package/example/api/data/playlist/10751-53.json +0 -1
- package/example/api/data/playlist/10751-878.json +0 -1
- package/example/api/data/playlist/10751-9648.json +0 -1
- package/example/api/data/playlist/10752-37.json +0 -1
- package/example/api/data/playlist/12-10402.json +0 -1
- package/example/api/data/playlist/12-10749.json +0 -1
- package/example/api/data/playlist/12-18.json +0 -1
- package/example/api/data/playlist/12-27.json +0 -1
- package/example/api/data/playlist/12-35.json +0 -1
- package/example/api/data/playlist/14-36.json +0 -1
- package/example/api/data/playlist/14-878.json +0 -1
- package/example/api/data/playlist/16-10751.json +0 -1
- package/example/api/data/playlist/16-10770.json +0 -1
- package/example/api/data/playlist/16-35.json +0 -1
- package/example/api/data/playlist/16-36.json +0 -1
- package/example/api/data/playlist/16-53.json +0 -1
- package/example/api/data/playlist/18-10751.json +0 -1
- package/example/api/data/playlist/18-10752.json +0 -1
- package/example/api/data/playlist/18-37.json +0 -1
- package/example/api/data/playlist/18-53.json +0 -1
- package/example/api/data/playlist/18-878.json +0 -1
- package/example/api/data/playlist/27-10749.json +0 -1
- package/example/api/data/playlist/27-10770.json +0 -1
- package/example/api/data/playlist/28-10749.json +0 -1
- package/example/api/data/playlist/28-10751.json +0 -1
- package/example/api/data/playlist/28-10770.json +0 -1
- package/example/api/data/playlist/28-16.json +0 -1
- package/example/api/data/playlist/28-18.json +0 -1
- package/example/api/data/playlist/28-36.json +0 -1
- package/example/api/data/playlist/28-37.json +0 -1
- package/example/api/data/playlist/28-53.json +0 -1
- package/example/api/data/playlist/28-80.json +0 -1
- package/example/api/data/playlist/28-99.json +0 -1
- package/example/api/data/playlist/35-10749.json +0 -1
- package/example/api/data/playlist/35-10751.json +0 -1
- package/example/api/data/playlist/35-10752.json +0 -1
- package/example/api/data/playlist/35-27.json +0 -1
- package/example/api/data/playlist/35-36.json +0 -1
- package/example/api/data/playlist/35-53.json +0 -1
- package/example/api/data/playlist/35-80.json +0 -1
- package/example/api/data/playlist/36-37.json +0 -1
- package/example/api/data/playlist/36-878.json +0 -1
- package/example/api/data/playlist/36-9648.json +0 -1
- package/example/api/data/playlist/53-10752.json +0 -1
- package/example/api/data/playlist/80-10770.json +0 -1
- package/example/api/data/playlist/80-14.json +0 -1
- package/example/api/data/playlist/80-18.json +0 -1
- package/example/api/data/playlist/80-37.json +0 -1
- package/example/api/data/playlist/878-37.json +0 -1
- package/example/api/data/playlist/9648-10770.json +0 -1
- package/example/api/data/playlist/9648-37.json +0 -1
- package/example/api/data/playlist/9648-53.json +0 -1
- package/example/api/data/playlist/9648-878.json +0 -1
- package/example/api/data/playlist/99-10749.json +0 -1
- package/example/api/data/playlist/99-14.json +0 -1
- package/example/api/data/playlist/99-18.json +0 -1
- package/example/api/data/playlist/99-27.json +0 -1
- package/example/api/data/playlist/99-53.json +0 -1
- package/example/api/data/playlist/99-9648.json +0 -1
- package/example/api/data/playlist/index.ts +0 -73
- package/example/api/data/rows.json +0 -1
- package/example/api/index.ts +0 -36
- package/example/app/(tabs)/_layout.tsx +0 -60
- package/example/app/(tabs)/cards.tsx +0 -81
- package/example/app/(tabs)/index.tsx +0 -205
- package/example/app/(tabs)/moviesL.tsx +0 -7
- package/example/app/(tabs)/moviesLR.tsx +0 -7
- package/example/app/+not-found.tsx +0 -32
- package/example/app/_layout.tsx +0 -34
- package/example/app/accurate-scrollto/index.tsx +0 -125
- package/example/app/accurate-scrollto-2/index.tsx +0 -52
- package/example/app/accurate-scrollto-huge/index.tsx +0 -128
- package/example/app/add-to-end/index.tsx +0 -82
- package/example/app/ai-chat/index.tsx +0 -236
- package/example/app/bidirectional-infinite-list/index.tsx +0 -133
- package/example/app/cards-columns/index.tsx +0 -37
- package/example/app/cards-flashlist/index.tsx +0 -122
- package/example/app/cards-flatlist/index.tsx +0 -94
- package/example/app/cards-no-recycle/index.tsx +0 -110
- package/example/app/cards-renderItem.tsx +0 -354
- package/example/app/chat-example/index.tsx +0 -167
- package/example/app/chat-infinite/index.tsx +0 -239
- package/example/app/chat-keyboard/index.tsx +0 -248
- package/example/app/chat-resize-outer/index.tsx +0 -247
- package/example/app/columns/index.tsx +0 -78
- package/example/app/countries/index.tsx +0 -182
- package/example/app/countries-flashlist/index.tsx +0 -163
- package/example/app/countries-reorder/index.tsx +0 -187
- package/example/app/extra-data/index.tsx +0 -86
- package/example/app/filter-elements/filter-data-provider.tsx +0 -55
- package/example/app/filter-elements/index.tsx +0 -118
- package/example/app/initial-scroll-index/index.tsx +0 -106
- package/example/app/initial-scroll-index/renderFixedItem.tsx +0 -215
- package/example/app/initial-scroll-index-free-height/index.tsx +0 -70
- package/example/app/initial-scroll-index-keyed/index.tsx +0 -62
- package/example/app/lazy-list/index.tsx +0 -123
- package/example/app/movies-flashlist/index.tsx +0 -7
- package/example/app/mutable-cells/index.tsx +0 -104
- package/example/app/video-feed/index.tsx +0 -119
- package/example/app.config.js +0 -22
- package/example/app.json +0 -45
- package/example/assets/fonts/SpaceMono-Regular.ttf +0 -0
- package/example/assets/images/adaptive-icon.png +0 -0
- package/example/assets/images/favicon.png +0 -0
- package/example/assets/images/icon.png +0 -0
- package/example/assets/images/partial-react-logo.png +0 -0
- package/example/assets/images/react-logo.png +0 -0
- package/example/assets/images/react-logo@2x.png +0 -0
- package/example/assets/images/react-logo@3x.png +0 -0
- package/example/assets/images/splash-icon.png +0 -0
- package/example/autoscroll.sh +0 -101
- package/example/bun.lock +0 -2266
- package/example/bunfig.toml +0 -2
- package/example/components/Breathe.tsx +0 -54
- package/example/components/Circle.tsx +0 -69
- package/example/components/Collapsible.tsx +0 -44
- package/example/components/ExternalLink.tsx +0 -24
- package/example/components/HapticTab.tsx +0 -18
- package/example/components/HelloWave.tsx +0 -37
- package/example/components/Movies.tsx +0 -179
- package/example/components/ParallaxScrollView.tsx +0 -81
- package/example/components/ThemedText.tsx +0 -60
- package/example/components/ThemedView.tsx +0 -14
- package/example/components/__tests__/ThemedText-test.tsx +0 -10
- package/example/components/__tests__/__snapshots__/ThemedText-test.tsx.snap +0 -24
- package/example/components/ui/IconSymbol.ios.tsx +0 -32
- package/example/components/ui/IconSymbol.tsx +0 -43
- package/example/components/ui/TabBarBackground.ios.tsx +0 -22
- package/example/components/ui/TabBarBackground.tsx +0 -6
- package/example/constants/Colors.ts +0 -26
- package/example/constants/constants.ts +0 -5
- package/example/constants/useScrollTest.ts +0 -19
- package/example/hooks/useColorScheme.ts +0 -1
- package/example/hooks/useColorScheme.web.ts +0 -8
- package/example/hooks/useThemeColor.ts +0 -22
- package/example/ios/.xcode.env +0 -11
- package/example/ios/Podfile +0 -64
- package/example/ios/Podfile.lock +0 -2767
- package/example/ios/Podfile.properties.json +0 -5
- package/example/ios/listtest/AppDelegate.swift +0 -70
- package/example/ios/listtest/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png +0 -0
- package/example/ios/listtest/Images.xcassets/AppIcon.appiconset/Contents.json +0 -14
- package/example/ios/listtest/Images.xcassets/Contents.json +0 -6
- package/example/ios/listtest/Images.xcassets/SplashScreenBackground.colorset/Contents.json +0 -20
- package/example/ios/listtest/Images.xcassets/SplashScreenLogo.imageset/Contents.json +0 -23
- package/example/ios/listtest/Images.xcassets/SplashScreenLogo.imageset/image.png +0 -0
- package/example/ios/listtest/Images.xcassets/SplashScreenLogo.imageset/image@2x.png +0 -0
- package/example/ios/listtest/Images.xcassets/SplashScreenLogo.imageset/image@3x.png +0 -0
- package/example/ios/listtest/Info.plist +0 -85
- package/example/ios/listtest/PrivacyInfo.xcprivacy +0 -48
- package/example/ios/listtest/SplashScreen.storyboard +0 -42
- package/example/ios/listtest/Supporting/Expo.plist +0 -12
- package/example/ios/listtest/listtest-Bridging-Header.h +0 -3
- package/example/ios/listtest/listtest.entitlements +0 -5
- package/example/ios/listtest.xcodeproj/project.pbxproj +0 -547
- package/example/ios/listtest.xcodeproj/xcshareddata/xcschemes/listtest.xcscheme +0 -88
- package/example/ios/listtest.xcworkspace/contents.xcworkspacedata +0 -10
- package/example/metro.config.js +0 -16
- package/example/package.json +0 -73
- package/example/scripts/reset-project.js +0 -84
- package/example/tsconfig.json +0 -26
- package/posttsup.ts +0 -24
- package/src/Container.tsx +0 -176
- package/src/Containers.tsx +0 -85
- package/src/ContextContainer.ts +0 -145
- package/src/DebugView.tsx +0 -83
- package/src/LazyLegendList.tsx +0 -41
- package/src/LeanView.tsx +0 -18
- package/src/LegendList.tsx +0 -558
- package/src/ListComponent.tsx +0 -191
- package/src/ScrollAdjust.tsx +0 -24
- package/src/ScrollAdjustHandler.ts +0 -26
- package/src/Separator.tsx +0 -14
- package/src/animated.tsx +0 -6
- package/src/calculateItemsInView.ts +0 -363
- package/src/calculateOffsetForIndex.ts +0 -23
- package/src/calculateOffsetWithOffsetPosition.ts +0 -26
- package/src/checkAllSizesKnown.ts +0 -17
- package/src/checkAtBottom.ts +0 -36
- package/src/checkAtTop.ts +0 -27
- package/src/checkThreshold.ts +0 -30
- package/src/constants.ts +0 -11
- package/src/createColumnWrapperStyle.ts +0 -16
- package/src/doInitialAllocateContainers.ts +0 -40
- package/src/doMaintainScrollAtEnd.ts +0 -34
- package/src/findAvailableContainers.ts +0 -98
- package/src/finishScrollTo.ts +0 -8
- package/src/getId.ts +0 -21
- package/src/getItemSize.ts +0 -52
- package/src/getRenderedItem.ts +0 -34
- package/src/getScrollVelocity.ts +0 -47
- package/src/handleLayout.ts +0 -70
- package/src/helpers.ts +0 -39
- package/src/index.ts +0 -11
- package/src/keyboard-controller.tsx +0 -63
- package/src/onScroll.ts +0 -66
- package/src/prepareMVCP.ts +0 -50
- package/src/reanimated.tsx +0 -63
- package/src/requestAdjust.ts +0 -41
- package/src/scrollTo.ts +0 -40
- package/src/scrollToIndex.ts +0 -34
- package/src/setDidLayout.ts +0 -25
- package/src/setPaddingTop.ts +0 -28
- package/src/state.tsx +0 -304
- package/src/types.ts +0 -610
- package/src/updateAlignItemsPaddingTop.ts +0 -18
- package/src/updateAllPositions.ts +0 -130
- package/src/updateItemSize.ts +0 -203
- package/src/updateTotalSize.ts +0 -44
- package/src/useAnimatedValue.ts +0 -6
- package/src/useCombinedRef.ts +0 -22
- package/src/useInit.ts +0 -17
- package/src/useSyncLayout.tsx +0 -68
- package/src/useValue$.ts +0 -53
- package/src/viewability.ts +0 -279
- package/tsconfig.json +0 -59
- package/tsup.config.ts +0 -21
- package/{dist → integrations}/reanimated.d.mts +1 -1
- package/{dist → integrations}/reanimated.d.ts +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
|
|
1
2
|
import * as React$1 from 'react';
|
|
2
3
|
import { ComponentProps, ReactNode, Dispatch, SetStateAction } from 'react';
|
|
3
4
|
import * as react_native from 'react-native';
|
|
4
5
|
import { View, ScrollView, Animated, StyleProp, ViewStyle, ScrollViewProps, LayoutRectangle, NativeSyntheticEvent, NativeScrollEvent, ScrollViewComponent, ScrollResponderMixin } from 'react-native';
|
|
5
6
|
import Animated$1 from 'react-native-reanimated';
|
|
6
|
-
import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
|
|
7
7
|
|
|
8
|
-
type ListenerType = "numContainers" | "numContainersPooled" | `containerItemKey${number}` | `containerItemData${number}` | `containerPosition${number}` | `containerColumn${number}` | "containersDidLayout" | "extraData" | "numColumns" | "lastItemKeys" | "totalSize" | "alignItemsPaddingTop" | "stylePaddingTop" | "scrollAdjust" | "scrollAdjustUserOffset" | "headerSize" | "footerSize" | "maintainVisibleContentPosition" | "debugRawScroll" | "debugComputedScroll" | "otherAxisSize" | "scrollSize";
|
|
8
|
+
type ListenerType = "numContainers" | "numContainersPooled" | `containerItemKey${number}` | `containerItemData${number}` | `containerPosition${number}` | `containerColumn${number}` | "containersDidLayout" | "extraData" | "numColumns" | "lastItemKeys" | "totalSize" | "alignItemsPaddingTop" | "stylePaddingTop" | "scrollAdjust" | "scrollAdjustUserOffset" | "headerSize" | "footerSize" | "maintainVisibleContentPosition" | "debugRawScroll" | "debugComputedScroll" | "otherAxisSize" | "snapToOffsets" | "scrollSize";
|
|
9
9
|
interface StateContext {
|
|
10
10
|
listeners: Map<ListenerType, Set<(value: any) => void>>;
|
|
11
11
|
values: Map<ListenerType, any>;
|
|
@@ -232,6 +232,7 @@ type LegendListPropsBase<ItemT, TScrollView extends ComponentProps<typeof Scroll
|
|
|
232
232
|
onLoad?: (info: {
|
|
233
233
|
elapsedTimeInMs: number;
|
|
234
234
|
}) => void;
|
|
235
|
+
snapToIndices?: number[];
|
|
235
236
|
};
|
|
236
237
|
interface MaintainScrollAtEndOptions {
|
|
237
238
|
onLayout?: boolean;
|
|
@@ -357,6 +358,7 @@ interface InternalState {
|
|
|
357
358
|
numColumns: number;
|
|
358
359
|
initialContainerPoolRatio: number;
|
|
359
360
|
stylePaddingTop: number | undefined;
|
|
361
|
+
snapToIndices: number[] | undefined;
|
|
360
362
|
};
|
|
361
363
|
}
|
|
362
364
|
interface ViewableRange<T> {
|
|
@@ -377,6 +379,7 @@ type ScrollState = {
|
|
|
377
379
|
endBuffered: number;
|
|
378
380
|
isAtEnd: boolean;
|
|
379
381
|
isAtStart: boolean;
|
|
382
|
+
positions: Map<string, number>;
|
|
380
383
|
scroll: number;
|
|
381
384
|
scrollLength: number;
|
|
382
385
|
start: number;
|
|
@@ -556,7 +559,11 @@ type GetRenderedItemResult<ItemT> = {
|
|
|
556
559
|
};
|
|
557
560
|
type GetRenderedItem = (key: string) => GetRenderedItemResult<any> | null;
|
|
558
561
|
|
|
559
|
-
|
|
562
|
+
interface LazyLegendListProps<ItemT, ListT> extends Omit<LegendListProps<ItemT>, "data" | "keyExtractor" | "renderItem"> {
|
|
563
|
+
children?: React$1.ReactNode | undefined;
|
|
564
|
+
LegendList?: ListT;
|
|
565
|
+
}
|
|
566
|
+
declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
|
|
560
567
|
alignItemsAtEnd?: boolean;
|
|
561
568
|
columnWrapperStyle?: ColumnWrapperStyle;
|
|
562
569
|
data: readonly T[];
|
|
@@ -607,9 +614,9 @@ declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "sc
|
|
|
607
614
|
onViewableItemsChanged?: OnViewableItemsChanged | undefined;
|
|
608
615
|
progressViewOffset?: number;
|
|
609
616
|
recycleItems?: boolean;
|
|
610
|
-
refScrollView?: React$1.Ref<ScrollView>;
|
|
617
|
+
refScrollView?: React$1.Ref<react_native.ScrollView>;
|
|
611
618
|
refreshing?: boolean;
|
|
612
|
-
renderItem?:
|
|
619
|
+
renderItem?: ((props: LegendListRenderItemProps<T>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T>> | undefined;
|
|
613
620
|
renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
|
|
614
621
|
suggestEstimatedItemSize?: boolean;
|
|
615
622
|
viewabilityConfig?: ViewabilityConfig;
|
|
@@ -618,13 +625,8 @@ declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "sc
|
|
|
618
625
|
onLoad?: (info: {
|
|
619
626
|
elapsedTimeInMs: number;
|
|
620
627
|
}) => void;
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
interface LazyLegendListProps<ItemT, ListT> extends Omit<LegendListProps<ItemT>, "data" | "keyExtractor" | "renderItem"> {
|
|
624
|
-
children?: React$1.ReactNode | undefined;
|
|
625
|
-
LegendList?: ListT;
|
|
626
|
-
}
|
|
627
|
-
declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
|
|
628
|
+
snapToIndices?: number[];
|
|
629
|
+
} & 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"> & {
|
|
628
630
|
alignItemsAtEnd?: boolean;
|
|
629
631
|
columnWrapperStyle?: ColumnWrapperStyle;
|
|
630
632
|
data: readonly T[];
|
|
@@ -677,7 +679,7 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
677
679
|
recycleItems?: boolean;
|
|
678
680
|
refScrollView?: React$1.Ref<react_native.ScrollView>;
|
|
679
681
|
refreshing?: boolean;
|
|
680
|
-
renderItem?:
|
|
682
|
+
renderItem?: ((props: LegendListRenderItemProps<T>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T>> | undefined;
|
|
681
683
|
renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
|
|
682
684
|
suggestEstimatedItemSize?: boolean;
|
|
683
685
|
viewabilityConfig?: ViewabilityConfig;
|
|
@@ -686,7 +688,10 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
686
688
|
onLoad?: (info: {
|
|
687
689
|
elapsedTimeInMs: number;
|
|
688
690
|
}) => void;
|
|
689
|
-
|
|
691
|
+
snapToIndices?: number[];
|
|
692
|
+
} & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode)> | (<ItemT_1>(props: _legendapp_list_reanimated.AnimatedLegendListProps<ItemT_1> & {
|
|
693
|
+
ref?: React$1.Ref<LegendListRef>;
|
|
694
|
+
}) => React$1.ReactElement | null) = <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
|
|
690
695
|
alignItemsAtEnd?: boolean;
|
|
691
696
|
columnWrapperStyle?: ColumnWrapperStyle;
|
|
692
697
|
data: readonly T[];
|
|
@@ -739,7 +744,7 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
739
744
|
recycleItems?: boolean;
|
|
740
745
|
refScrollView?: React$1.Ref<react_native.ScrollView>;
|
|
741
746
|
refreshing?: boolean;
|
|
742
|
-
renderItem?:
|
|
747
|
+
renderItem?: ((props: LegendListRenderItemProps<T>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T>> | undefined;
|
|
743
748
|
renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
|
|
744
749
|
suggestEstimatedItemSize?: boolean;
|
|
745
750
|
viewabilityConfig?: ViewabilityConfig;
|
|
@@ -748,9 +753,10 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
748
753
|
onLoad?: (info: {
|
|
749
754
|
elapsedTimeInMs: number;
|
|
750
755
|
}) => void;
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
756
|
+
snapToIndices?: number[];
|
|
757
|
+
} & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode>(props: LazyLegendListProps<ItemT, ListT> & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode;
|
|
758
|
+
|
|
759
|
+
declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
|
|
754
760
|
alignItemsAtEnd?: boolean;
|
|
755
761
|
columnWrapperStyle?: ColumnWrapperStyle;
|
|
756
762
|
data: readonly T[];
|
|
@@ -801,9 +807,9 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
801
807
|
onViewableItemsChanged?: OnViewableItemsChanged | undefined;
|
|
802
808
|
progressViewOffset?: number;
|
|
803
809
|
recycleItems?: boolean;
|
|
804
|
-
refScrollView?: React$1.Ref<
|
|
810
|
+
refScrollView?: React$1.Ref<ScrollView>;
|
|
805
811
|
refreshing?: boolean;
|
|
806
|
-
renderItem?:
|
|
812
|
+
renderItem?: ((props: LegendListRenderItemProps<T>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T>> | undefined;
|
|
807
813
|
renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
|
|
808
814
|
suggestEstimatedItemSize?: boolean;
|
|
809
815
|
viewabilityConfig?: ViewabilityConfig;
|
|
@@ -812,7 +818,8 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
812
818
|
onLoad?: (info: {
|
|
813
819
|
elapsedTimeInMs: number;
|
|
814
820
|
}) => void;
|
|
815
|
-
|
|
821
|
+
snapToIndices?: number[];
|
|
822
|
+
} & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode;
|
|
816
823
|
|
|
817
824
|
declare function useViewability(callback: ViewabilityCallback, configId?: string): void;
|
|
818
825
|
declare function useViewabilityAmount(callback: ViewabilityAmountCallback): void;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
|
|
1
2
|
import * as React$1 from 'react';
|
|
2
3
|
import { ComponentProps, ReactNode, Dispatch, SetStateAction } from 'react';
|
|
3
4
|
import * as react_native from 'react-native';
|
|
4
5
|
import { View, ScrollView, Animated, StyleProp, ViewStyle, ScrollViewProps, LayoutRectangle, NativeSyntheticEvent, NativeScrollEvent, ScrollViewComponent, ScrollResponderMixin } from 'react-native';
|
|
5
6
|
import Animated$1 from 'react-native-reanimated';
|
|
6
|
-
import * as _legendapp_list_reanimated from '@legendapp/list/reanimated';
|
|
7
7
|
|
|
8
|
-
type ListenerType = "numContainers" | "numContainersPooled" | `containerItemKey${number}` | `containerItemData${number}` | `containerPosition${number}` | `containerColumn${number}` | "containersDidLayout" | "extraData" | "numColumns" | "lastItemKeys" | "totalSize" | "alignItemsPaddingTop" | "stylePaddingTop" | "scrollAdjust" | "scrollAdjustUserOffset" | "headerSize" | "footerSize" | "maintainVisibleContentPosition" | "debugRawScroll" | "debugComputedScroll" | "otherAxisSize" | "scrollSize";
|
|
8
|
+
type ListenerType = "numContainers" | "numContainersPooled" | `containerItemKey${number}` | `containerItemData${number}` | `containerPosition${number}` | `containerColumn${number}` | "containersDidLayout" | "extraData" | "numColumns" | "lastItemKeys" | "totalSize" | "alignItemsPaddingTop" | "stylePaddingTop" | "scrollAdjust" | "scrollAdjustUserOffset" | "headerSize" | "footerSize" | "maintainVisibleContentPosition" | "debugRawScroll" | "debugComputedScroll" | "otherAxisSize" | "snapToOffsets" | "scrollSize";
|
|
9
9
|
interface StateContext {
|
|
10
10
|
listeners: Map<ListenerType, Set<(value: any) => void>>;
|
|
11
11
|
values: Map<ListenerType, any>;
|
|
@@ -232,6 +232,7 @@ type LegendListPropsBase<ItemT, TScrollView extends ComponentProps<typeof Scroll
|
|
|
232
232
|
onLoad?: (info: {
|
|
233
233
|
elapsedTimeInMs: number;
|
|
234
234
|
}) => void;
|
|
235
|
+
snapToIndices?: number[];
|
|
235
236
|
};
|
|
236
237
|
interface MaintainScrollAtEndOptions {
|
|
237
238
|
onLayout?: boolean;
|
|
@@ -357,6 +358,7 @@ interface InternalState {
|
|
|
357
358
|
numColumns: number;
|
|
358
359
|
initialContainerPoolRatio: number;
|
|
359
360
|
stylePaddingTop: number | undefined;
|
|
361
|
+
snapToIndices: number[] | undefined;
|
|
360
362
|
};
|
|
361
363
|
}
|
|
362
364
|
interface ViewableRange<T> {
|
|
@@ -377,6 +379,7 @@ type ScrollState = {
|
|
|
377
379
|
endBuffered: number;
|
|
378
380
|
isAtEnd: boolean;
|
|
379
381
|
isAtStart: boolean;
|
|
382
|
+
positions: Map<string, number>;
|
|
380
383
|
scroll: number;
|
|
381
384
|
scrollLength: number;
|
|
382
385
|
start: number;
|
|
@@ -556,7 +559,11 @@ type GetRenderedItemResult<ItemT> = {
|
|
|
556
559
|
};
|
|
557
560
|
type GetRenderedItem = (key: string) => GetRenderedItemResult<any> | null;
|
|
558
561
|
|
|
559
|
-
|
|
562
|
+
interface LazyLegendListProps<ItemT, ListT> extends Omit<LegendListProps<ItemT>, "data" | "keyExtractor" | "renderItem"> {
|
|
563
|
+
children?: React$1.ReactNode | undefined;
|
|
564
|
+
LegendList?: ListT;
|
|
565
|
+
}
|
|
566
|
+
declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
|
|
560
567
|
alignItemsAtEnd?: boolean;
|
|
561
568
|
columnWrapperStyle?: ColumnWrapperStyle;
|
|
562
569
|
data: readonly T[];
|
|
@@ -607,9 +614,9 @@ declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "sc
|
|
|
607
614
|
onViewableItemsChanged?: OnViewableItemsChanged | undefined;
|
|
608
615
|
progressViewOffset?: number;
|
|
609
616
|
recycleItems?: boolean;
|
|
610
|
-
refScrollView?: React$1.Ref<ScrollView>;
|
|
617
|
+
refScrollView?: React$1.Ref<react_native.ScrollView>;
|
|
611
618
|
refreshing?: boolean;
|
|
612
|
-
renderItem?:
|
|
619
|
+
renderItem?: ((props: LegendListRenderItemProps<T>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T>> | undefined;
|
|
613
620
|
renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
|
|
614
621
|
suggestEstimatedItemSize?: boolean;
|
|
615
622
|
viewabilityConfig?: ViewabilityConfig;
|
|
@@ -618,13 +625,8 @@ declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "sc
|
|
|
618
625
|
onLoad?: (info: {
|
|
619
626
|
elapsedTimeInMs: number;
|
|
620
627
|
}) => void;
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
interface LazyLegendListProps<ItemT, ListT> extends Omit<LegendListProps<ItemT>, "data" | "keyExtractor" | "renderItem"> {
|
|
624
|
-
children?: React$1.ReactNode | undefined;
|
|
625
|
-
LegendList?: ListT;
|
|
626
|
-
}
|
|
627
|
-
declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
|
|
628
|
+
snapToIndices?: number[];
|
|
629
|
+
} & 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"> & {
|
|
628
630
|
alignItemsAtEnd?: boolean;
|
|
629
631
|
columnWrapperStyle?: ColumnWrapperStyle;
|
|
630
632
|
data: readonly T[];
|
|
@@ -677,7 +679,7 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
677
679
|
recycleItems?: boolean;
|
|
678
680
|
refScrollView?: React$1.Ref<react_native.ScrollView>;
|
|
679
681
|
refreshing?: boolean;
|
|
680
|
-
renderItem?:
|
|
682
|
+
renderItem?: ((props: LegendListRenderItemProps<T>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T>> | undefined;
|
|
681
683
|
renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
|
|
682
684
|
suggestEstimatedItemSize?: boolean;
|
|
683
685
|
viewabilityConfig?: ViewabilityConfig;
|
|
@@ -686,7 +688,10 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
686
688
|
onLoad?: (info: {
|
|
687
689
|
elapsedTimeInMs: number;
|
|
688
690
|
}) => void;
|
|
689
|
-
|
|
691
|
+
snapToIndices?: number[];
|
|
692
|
+
} & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode)> | (<ItemT_1>(props: _legendapp_list_reanimated.AnimatedLegendListProps<ItemT_1> & {
|
|
693
|
+
ref?: React$1.Ref<LegendListRef>;
|
|
694
|
+
}) => React$1.ReactElement | null) = <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
|
|
690
695
|
alignItemsAtEnd?: boolean;
|
|
691
696
|
columnWrapperStyle?: ColumnWrapperStyle;
|
|
692
697
|
data: readonly T[];
|
|
@@ -739,7 +744,7 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
739
744
|
recycleItems?: boolean;
|
|
740
745
|
refScrollView?: React$1.Ref<react_native.ScrollView>;
|
|
741
746
|
refreshing?: boolean;
|
|
742
|
-
renderItem?:
|
|
747
|
+
renderItem?: ((props: LegendListRenderItemProps<T>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T>> | undefined;
|
|
743
748
|
renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
|
|
744
749
|
suggestEstimatedItemSize?: boolean;
|
|
745
750
|
viewabilityConfig?: ViewabilityConfig;
|
|
@@ -748,9 +753,10 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
748
753
|
onLoad?: (info: {
|
|
749
754
|
elapsedTimeInMs: number;
|
|
750
755
|
}) => void;
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
756
|
+
snapToIndices?: number[];
|
|
757
|
+
} & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode>(props: LazyLegendListProps<ItemT, ListT> & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode;
|
|
758
|
+
|
|
759
|
+
declare const LegendList: <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & {
|
|
754
760
|
alignItemsAtEnd?: boolean;
|
|
755
761
|
columnWrapperStyle?: ColumnWrapperStyle;
|
|
756
762
|
data: readonly T[];
|
|
@@ -801,9 +807,9 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
801
807
|
onViewableItemsChanged?: OnViewableItemsChanged | undefined;
|
|
802
808
|
progressViewOffset?: number;
|
|
803
809
|
recycleItems?: boolean;
|
|
804
|
-
refScrollView?: React$1.Ref<
|
|
810
|
+
refScrollView?: React$1.Ref<ScrollView>;
|
|
805
811
|
refreshing?: boolean;
|
|
806
|
-
renderItem?:
|
|
812
|
+
renderItem?: ((props: LegendListRenderItemProps<T>) => React$1.ReactNode) | React$1.ComponentType<LegendListRenderItemProps<T>> | undefined;
|
|
807
813
|
renderScrollComponent?: (props: react_native.ScrollViewProps) => React$1.ReactElement<react_native.ScrollViewProps>;
|
|
808
814
|
suggestEstimatedItemSize?: boolean;
|
|
809
815
|
viewabilityConfig?: ViewabilityConfig;
|
|
@@ -812,7 +818,8 @@ declare const LazyLegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_
|
|
|
812
818
|
onLoad?: (info: {
|
|
813
819
|
elapsedTimeInMs: number;
|
|
814
820
|
}) => void;
|
|
815
|
-
|
|
821
|
+
snapToIndices?: number[];
|
|
822
|
+
} & React$1.RefAttributes<LegendListRef>) => React$1.ReactNode;
|
|
816
823
|
|
|
817
824
|
declare function useViewability(callback: ViewabilityCallback, configId?: string): void;
|
|
818
825
|
declare function useViewabilityAmount(callback: ViewabilityAmountCallback): void;
|