| Do | Set min and max dates to limit selection to a valid window, like only future dates for a booking or the current quarter for a report. |
| Do | Use range mode when the user needs to pick a start and end date, like a trip or a time-off request. |
| Do | Use dateConstraints to disable specific dates like weekends or holidays, and explain why they are unavailable. |
| Do | Show two months side by side when the user frequently selects dates that span a month boundary. |
| Don't | Use a calendar for dates far in the past or future like a birth date. A text input is faster for open-ended entry. |
| Don't | Disable large blocks of dates without context. The user should understand why dates are unavailable. |