/* eslint-disable react/no-unstable-nested-components */ /* eslint-disable react-native/no-inline-styles */ import React, { useState } from 'react'; import { FlatList } from 'react-native'; import { Divider } from '../Divider'; import RadioButton from '../RadioButton'; import type { DataItem, Props } from './types'; const SelectList = ({ data, value: ValueName = 'value', label: LabelName = 'label', style, selectedValue, onPressItem, }: Props) => { const [value, setValue] = useState( selectedValue || data[0][ValueName] ); const _renderItem = ({ item }: { item: any }) => ( ); const keyExtractor = (_item: any, index: number) => `key-${index}`; const Divider_ = () => ; const _onPressItem = (_value: string) => { setValue(_value); const item: DataItem = data?.find( (_item) => _item[ValueName] === _value ) as DataItem; onPressItem(item); }; return ( 0} contentContainerStyle={{ flexGrow: 1, justifyContent: data?.length === 0 ? 'center' : 'flex-start', paddingBottom: data?.length === 0 ? 0 : 20, }} showsVerticalScrollIndicator={false} ItemSeparatorComponent={Divider_} keyExtractor={keyExtractor} renderItem={_renderItem} /> ); }; SelectList.displayName = 'Select.List'; export default SelectList;