MultinaireDateTimePicker
Date and time picker modal with calendar and time selection.
Basic Usage
import { MultinaireDateTimePicker } from '@multinaire/multinaire-design';
<MultinaireDateTimePicker
mode="date"
value={selectedDate}
onChange={(date) => setSelectedDate(date)}
/>
Props
| Prop | Type | Default | Description |
|---|---|---|---|
mode | 'date' | 'time' | - | Picker mode |
value | Date | - | Currently selected date/time |
minimumDate | Date | - | Minimum selectable date |
maximumDate | Date | - | Maximum selectable date |
onChange | (date: Date) => void | - | Selection handler |
Examples
Date Picker
<MultinaireDateTimePicker
mode="date"
value={birthDate}
maximumDate={new Date()}
onChange={setBirthDate}
/>
Time Picker
<MultinaireDateTimePicker
mode="time"
value={appointmentTime}
onChange={setAppointmentTime}
/>
Future Dates Only
<MultinaireDateTimePicker
mode="date"
value={eventDate}
minimumDate={new Date()}
onChange={setEventDate}
/>
Date Range Constraint
<MultinaireDateTimePicker
mode="date"
value={selectedDate}
minimumDate={startOfMonth}
maximumDate={endOfMonth}
onChange={setSelectedDate}
/>
With PickerButton
const [date, setDate] = useState<Date>();
const [showPicker, setShowPicker] = useState(false);
<>
<MultinairePickerButton
title="Date"
placeholder="Select date"
value={date ? format(date, 'MMM d, yyyy') : undefined}
onPress={() => setShowPicker(true)}
/>
{showPicker && (
<MultinaireDateTimePicker
mode="date"
value={date || new Date()}
onChange={(newDate) => {
setDate(newDate);
setShowPicker(false);
}}
/>
)}
</>
Appointment Booking
<MultinaireContainer gap={16}>
<MultinairePickerButton
title="Date"
placeholder="Select date"
value={formatDate(appointmentDate)}
onPress={() => setDatePickerVisible(true)}
/>
<MultinairePickerButton
title="Time"
placeholder="Select time"
value={formatTime(appointmentTime)}
onPress={() => setTimePickerVisible(true)}
/>
</MultinaireContainer>
{datePickerVisible && (
<MultinaireDateTimePicker
mode="date"
value={appointmentDate}
minimumDate={new Date()}
onChange={(date) => {
setAppointmentDate(date);
setDatePickerVisible(false);
}}
/>
)}
{timePickerVisible && (
<MultinaireDateTimePicker
mode="time"
value={appointmentTime}
onChange={(time) => {
setAppointmentTime(time);
setTimePickerVisible(false);
}}
/>
)}