First off, thanks for building and maintaining this library — it's been a pleasure to work with. I wanted to share a feature idea that came up while integrating the date-time picker into a scheduling interface.
The Situation
When minDate or maxDate includes a time component, the calendar correctly disables out-of-range dates visually, which is great. However, when the user selects a boundary date, the time picker doesn't reflect the same constraints visually — all times appear selectable, even those that would be rejected on confirm due to ignoreTimeValidation = false.
For example, with minDate set to 2026-02-10 11:00:
- Dates before February 10 are correctly grayed out in the calendar.
- But if the user selects February 10, times before 11:00 are still fully interactive and only blocked at select button.
Without visual cues, users can invest time selecting an invalid time only to be blocked at confirmation with no clear explanation of what went wrong. Surfacing the constraint earlier reduces friction and confusion
A alternative approach could be to provide an addtional option for DisabledTimesProp
((date: Date, time: TimeObj) => boolean)
First off, thanks for building and maintaining this library — it's been a pleasure to work with. I wanted to share a feature idea that came up while integrating the date-time picker into a scheduling interface.
The Situation
When minDate or maxDate includes a time component, the calendar correctly disables out-of-range dates visually, which is great. However, when the user selects a boundary date, the time picker doesn't reflect the same constraints visually — all times appear selectable, even those that would be rejected on confirm due to
ignoreTimeValidation = false.For example, with
minDateset to 2026-02-10 11:00:Without visual cues, users can invest time selecting an invalid time only to be blocked at confirmation with no clear explanation of what went wrong. Surfacing the constraint earlier reduces friction and confusion
A alternative approach could be to provide an addtional option for
DisabledTimesProp((date: Date, time: TimeObj) => boolean)