Skip to main content

Introducing Workflow Engine, try for FREE workflowengine.io.

DatePicker

Introduction​

The DatePicker component displays a calendar for selecting a single date. Variants include MtDatePicker (single), MtDateRangePicker, and MtDateMultiplePicker. The component requires @mantine/dates and is based on Mantine DatePicker.

It is included within the following NPM package: @react-form-builder/components-mantine.

Components covered​

  • MtDatePicker: Single date selection.
  • MtDateRangePicker: Start/end date range selection.
  • MtDateMultiplePicker: Multiple distinct date selection.

Differences between components​

ComponentSelection typeValue shapeTypical use case
MtDatePickerSingle dateDate | nullSimple date fields (birthday, due date)
MtDateRangePickerDate range[Date, Date] | nullPeriods (from–to), bookings, intervals
MtDateMultiplePickerMultiple datesDate[]Highlighted days, recurring selections

MtDatePicker​

Single-date variant that lets the user pick exactly one day from the calendar. It is the most common choice for simple date fields and uses the Value property as Date \| null.

MtDateRangePicker​

Range variant that lets the user select a start and end date. The Value is a [Date, Date] tuple (or null when not set) and is best suited for booking periods or any from–to scenarios.

MtDateMultiplePicker​

Multiple-dates variant that allows choosing any number of distinct dates. The Value is a Date[] array and is useful for highlighting custom sets of days (for example, unavailable dates or special events).

Detailed component pages​

Main properties​

The following general properties are available within the Main tab:

NameTypeDescription
ValueDate | nullSelected date (uncontrolled value)
Min dateDateMinimum selectable date
Max dateDateMaximum selectable date
Size'xs' | 'sm' | 'md' | 'lg' | 'xl'Size of the calendar
DisabledbooleanDisables the picker
On changeeventFired when the date changes

At the bottom of the Main properties menu, you can find additional options:

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:

    NameTypeDescription
    WidthnumberSpecifies the width for your component
    HeightnumberSpecifies the height for your component
    Margin top/right/bottom/leftnumberMargin values for you component
    ColorstringAllows customizing the text color
    Background colorstringEnables customizing the background color