UNPKG

digicard-react-native-number-please

Version:
77 lines (73 loc) 1.89 kB
import { PickerProps } from '@react-native-picker/picker'; import { ItemValue } from '@react-native-picker/picker/typings/Picker'; import { RefObject } from 'react'; export interface IRNNPPicker { /** * ID of the picker, which will be used as key in the returned value object. * @example if you have a picker with {id: 'amountOfPizzas', ... }, the returned value object will be: {amountOfPizzas: 3} * @type {string} * @memberof IRNNPPicker */ id: string; /** * Picker ref * @type {*} * @memberof IRNNPPicker */ ref?: RefObject<{focus: () => void, blur: () => void}>; /** * Add a label which will prefix a picker item. * @example if label:'EURO' your picker item will look like: 3 EURO * @type {string} * @memberof IRNNPPicker */ label?: string; /** * Min value of the picker to start with. * @type {number} * @memberof IRNNPPicker */ min: number; /** * Max value of the picker to end with. * @type {number} * @memberof IRNNPPicker */ max: number; /** * Amount to increment/decrement the value by. * @type {number} * @memberof IRNNPPicker */ step?: number; } export interface IValue { [key: string]: ItemValue; } export interface INumberPleaseProps extends PickerProps { /** * Initialise all the pickers with the given values. * @type {IRNNPPicker[]} * @memberof INumberPleaseProps */ pickers: IRNNPPicker[]; /** * Controled value to be displayed in the pickers. * @type {IValue} * @memberof INumberPleaseProps */ values: IValue; /** * Callback function to be called when the value of any picker changes. * @param {*} value * @return {*} {*} * @memberof INumberPleaseProps */ onChange(value: any): any; /** * Divider to be used to seperate pickers. * @type {*} * @memberof INumberPleaseProps */ divider?: any; }