react-native-customdob v1.1.1
DOBPicker
DOBPicker is a customizable Date of Birth picker component for React Native, built using react-native-paper and react-native-modal-datetime-picker. It allows users to select a date and time using a modal date picker, with additional support for custom icons and text input handling.
Installation
Ensure you have react-native-paper and react-native-modal-datetime-picker installed in your project. If not, install them first:
npm install react-native-paper react-native-modal-datetime-picker date-fns
Then, install DOBPicker by adding it to your project:
npm install react-native-customtextinput
Usage
Import and use the DOBPicker component in your React Native project:
import React, { useState } from 'react';
import { View, Image } from 'react-native';
import DOBPicker from 'react-native-customtextinput';
const App = () => {
const selectedDate, setSelectedDate = useState<Date | undefined>();
return (
<View style={{ padding: 20 }}>
<DOBPicker
label="Date of Birth"
onDateChange={handleDateChange}
dateFormat="yyyy-MM-dd"
calendarIcon={require('./assets/calendar.png')}
clearIcon={require('./assets/clear.png')}
rightCalendarIconStyle={{ width: 30, height: 30, tintColor: 'blue' }}
Icon={require('./assets/user.png')}
leftIconStyle={{ width: 25, height: 25, tintColor: 'green' }}
/>
</View>
); };
export default App;
Props
Prop Name | Type | Default | Description |
---|---|---|---|
label | string | undefined | Label for the text input field. |
value | string | undefined | The value displayed in the input field. |
Icon | ImageSourcePropType | undefined | Optional left-side icon. |
calendarIcon | ImageSourcePropType | Required | Calendar icon for the date picker. |
clearIcon | ImageSourcePropType | undefined | Clear icon to reset the selected date. |
onDateChange | (selectedDate: Date / undefined) => void | Required | Callback when the date is selected or cleared. |
dateFormat | string | 'dd/MM/yyyy h:mm' | Format for displaying the selected date. |
onClear | () => void | undefined | Callback when the clear button is pressed. |
returnKeyType | 'done' / 'next' | undefined | Return key type for the keyboard. |
onSubmitEditing | () => void | undefined | Callback when submitting the input field. |
forwardRef | Ref<RNTextInput> | undefined | Forwarded reference to the input field. |
textColor | string | 'black' | Color of the text in the input field. |
placeholderTextColor | string | 'black' | Color of the placeholder text. |
mode | 'flat' / 'outlined' | 'outlined' | Mode of the TextInput component from react-native-paper. |
rightCalendarIconStyle | StyleProp<ImageStyle> | undefined | Style for the right calendar/clear icon. |
leftIconStyle | StyleProp<ImageStyle> | undefined | Style for the left icon. |
datetimeMode | 'date' / 'time' / 'datetime' | 'datetime' | Mode for the DateTimePickerModal (date, time, or datetime). |
Features
Displays a modal date and time picker.
Customizable icons for calendar and clear actions.
Prevents direct text input to ensure valid date selection.
Uses date-fns for date formatting and parsing.
Supports React Native Paper's theming.