react-native-section-alphabet-list
Version:
A simple React Native component that takes an array of data and renders a SectionList with alphabetically sorted data.
34 lines (33 loc) • 1.13 kB
TypeScript
/// <reference types="react" />
import { SectionListData, SectionListProps, TextStyle, ViewStyle } from "react-native";
export interface IData {
value: string;
key: string;
}
export interface ISectionData {
title: string;
data: IData[];
index?: number;
}
export interface IIndexLetterProps {
item: ISectionData;
index: number;
onPress: () => void;
}
export interface AlphabetListProps extends Partial<SectionListProps<IData>> {
data: IData[];
index?: string[];
style?: ViewStyle;
indexLetterStyle?: TextStyle;
indexLetterContainerStyle?: ViewStyle;
indexContainerStyle?: ViewStyle;
letterListContainerStyle?: ViewStyle;
renderCustomItem?: (item: IData) => JSX.Element;
renderCustomSectionHeader?: (section: SectionListData<IData>) => JSX.Element;
renderCustomListHeader?: () => JSX.Element;
renderCustomIndexLetter?: ({ item, index, onPress }: IIndexLetterProps) => JSX.Element;
getItemHeight?: (sectionIndex: number, rowIndex: number) => number;
sectionHeaderHeight?: number;
listHeaderHeight?: number;
uncategorizedAtTop?: boolean;
}