Skip to content

Date Picker

The Date Picker component let the user select a date.

Basic usage

Press Enter to start editing

Component composition

The component is built using the DateField for the keyboard editing and the DateCalendar for the view editing. All the documented props of those two components can also be passed to the Date Picker component.

Check-out their documentation page for more information:

Uncontrolled vs. Controlled

The component can be uncontrolled or controlled

Press Enter to start editing

Available components

The component is available in four variants:

  • The DesktopNextDatePicker component which works best for mouse devices and large screens. It renders the views inside a popover and allows editing values directly inside the field.

  • The MobileNextDatePicker component which works best for touch devices and small screens. It renders the view inside a modal and does not allow editing values directly inside the field.

  • The NextDatePicker component which renders DesktopNextDatePicker or MobileNextDatePicker depending on the device it runs on.

  • The StaticDatePicker component which renders without the popover/modal and field.

Desktop variant

Mobile variant

Responsive variant

Static variant

Select date

Thu, Apr 7

SMTWTFS
Press Enter to start editing

By default, the NextDatePicker component renders the desktop version if the media query @media (pointer: fine) matches. This can be customized with the desktopModeMediaQuery prop.

Form props

The component can be disabled or read-only.

Press Enter to start editing

Views

The component supports three views: day, month, and year.

By default, the day and year views are enabled. Use the views prop to change this behavior:

Press Enter to start editing

By default, the component renders the day view on mount. Use the openTo prop to change this behavior:

Press Enter to start editing

Landscape orientation

By default, the Date Picker component automatically sets the orientation based on the window.orientation value. You can force a specific orientation using the orientation prop:

Select date

––

SMTWTFS
Press Enter to start editing

Helper text

You can show a helper text with the date format accepted:

MM / DD / YYYY

Press Enter to start editing

Custom input component

You can customize the rendering of the input with the TextField component slot. Make sure to spread inputProps correctly to the custom input component.

Press Enter to start editing

Validation

You can find the documentation in the Validation page.

Localization

You can find the documentation about localization in the Date localization and Component localization.

API

See the documentation below for a complete reference to all of the props and classes available to the components mentioned here.