DatePickerInput
Introduction
The DatePickerInput component combines a text input with a calendar popover for date selection. Variants include single date,
date range, and multiple dates. The component requires @mantine/dates and is based on Mantine DatePicker and DateInput.
It is included within the following NPM package: @react-form-builder/components-mantine.
Components covered
- MtDatePickerInput: Single date selection with input.
- MtDateRangePickerInput: Date range selection with input.
- MtDateMultiplePickerInput: Multiple dates selection with input.
Differences between components
| Component | Selection type | Value shape | Typical use case |
|---|---|---|---|
| MtDatePickerInput | Single date | Date | null | Simple date input with calendar popup |
| MtDateRangePickerInput | Date range | [Date, Date] | null | From–to periods with text input |
| MtDateMultiplePickerInput | Multiple dates | Date[] | Selecting multiple dates via input + calendar |
MtDatePickerInput
Single-date input that shows a formatted date value and opens a calendar popover. It is the default choice when you need an input field plus calendar for one date.
MtDateRangePickerInput
Range input that lets the user pick a start and end date while editing a textual representation. Use it for booking or report periods where an input field is required.
MtDateMultiplePickerInput
Multiple-dates input that supports selecting several dates at once. The value is an array of dates, surfaced through the text input and calendar.
Detailed component pages
Main properties
The following general properties are available within the Main tab:
| Name | Type | Description |
|---|---|---|
| Label | string | Label for the input |
| Value | Date | null (or range/multiple depending on variant) | Selected value(s) (uncontrolled value) |
| Placeholder | string | Placeholder when no date selected |
| Description | string | Helper text below the field |
| Error | string | Error message; when set, applies error styling |
| Min date | Date | Minimum selectable date |
| Max date | Date | Maximum selectable date |
| Size | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | Size of the input |
| Variant | 'filled' | 'default' | 'unstyled' | Visual variant |
| Disabled | boolean | Disables the input |
| Clearable | boolean | If true, allows clearing the selection |
| On change | event | Fired when the date(s) change |
At the bottom of the Main properties menu, you can find additional options:
- Render When: Provides conditional rendering for your component as described in the corresponding chapter.
- HTML attributes: Allows you to provide custom HTML attributes for your form.
Style properties
These are properties that allow to customize the size, color and other style properties of your component:
- For Device: You can provide component's style customization for all devices or specific devices by using this dropdown list. Refer to Adaptive Layout for more details.
- Component > Class Name: Add a class name for your component for the subsequent styling if necessary.
-
Wrapper: The options below enable you to tailor the appearance of your component and customize it for a specific device type, as selected in the For Device property:
Name Type Description Width numberSpecifies the width for your component Height numberSpecifies the height for your component Margin top/right/bottom/left numberMargin values for you component Color stringAllows customizing the text color Background color stringEnables customizing the background color