UNPKG

react-native-ui-lib

Version:

<p align="center"> <img src="https://user-images.githubusercontent.com/1780255/105469025-56759000-5ca0-11eb-993d-3568c1fd54f4.png" height="250px" style="display:block"/> </p> <p align="center">UI Toolset & Components Library for React Native</p> <p a

74 lines (64 loc) 2.54 kB
import {ReactElement} from 'react'; import {FlatListProps, GestureResponderEvent, LayoutChangeEvent, StyleProp, TextStyle} from 'react-native'; import {BaseComponent} from '../commons'; import {TextFieldProps} from './Inputs'; import {TopBarProps} from './Modal'; import {ColorsModifiers} from '../modifiers'; export type PickerItemLabeledValue = { value?: any, label?: string }; export type PickerItemValue = | object | string | number | PickerItemLabeledValue | PickerItemLabeledValue[]; export type PickerItemRenderItemFunc = ( value: PickerItemValue | undefined, props: PickerItemProps, label: string ) => ReactElement | ReactElement[]; export interface PickerItemProps { label?: string; labelStyle?: StyleProp<TextStyle>; value?: PickerItemValue; getItemLabel?: (value?: PickerItemValue) => string; isSelected?: boolean; disabled?: boolean; renderItem?: PickerItemRenderItemFunc; onPress?: (event: GestureResponderEvent) => void; onSelectedLayout?: (event: LayoutChangeEvent) => void; testID?: string; } export type PickerMode = 'SINGLE' | 'MULTI'; export interface PickerSearchStyle { color?: string; placeholderTextColor?: string; selectionColor?: string; } export type PickerListProps = Omit<FlatListProps<any>, 'data' | 'renderItem' | 'keyExtractor'>; export interface PickerProps extends Omit<TextFieldProps, 'value'> { value?: PickerItemValue; onChange?: (value: PickerItemValue) => void; mode?: PickerMode; enableModalBlur?: boolean; renderPicker?: (value?: PickerItemValue, label?: string) => ReactElement | ReactElement[]; renderItem?: PickerItemRenderItemFunc; renderCustomModal?: (modalProps: object) => ReactElement | ReactElement[]; customPickerProps?: object; onPress?: (event: GestureResponderEvent) => void; getItemValue?: (value?: PickerItemValue) => string; getLabel?: (value?: PickerItemValue) => string; topBarProps?: TopBarProps; showSearch?: boolean; searchStyle?: PickerSearchStyle; searchPlaceholder?: string; onSearchChange?: (searchValue: string) => void; renderCustomSearch?: (props: PickerProps) => ReactElement | ReactElement[]; useNativePicker?: boolean; renderNativePicker?: (props: PickerProps) => ReactElement | ReactElement[]; listProps?: PickerListProps; } export class Picker extends BaseComponent<PickerProps & ColorsModifiers> {} export namespace Picker { export class Item extends BaseComponent<PickerItemProps> {} export function extractPickerItems(props: any): [{value: string, label: string}] }