CalendarInput

How to get CalendarInput

import { CalendarInput } from 'fds/components';

Type: Component

A calendar displayed inside a Drop, used for selecting a year, month and day. The selected date is displayed as a Label inside the component. This component doesn't support selecting a time value (hour, minute and second), if this is desired consider using a TimeSelect or DateTimeSelect instead.

Props

# Name Type Description
1. [dayOfWeekLabels] Array

The labels displayed as the day within the week. Expects an array of 7 letters, starting at monday.


  Default value
[
	"M",
	"T",
	"W",
	"T",
	"F",
	"S",
	"S"
]
2. [displayClearButton] Boolean

Whether or not the clear button (the "times" icon) should be displayed. Defaults to true.

Pressing this button clears the CalendarInput value by calling onChange(null) if !isDisabled. Which should set the value prop to null and thereby clearing the input.


  Default value
true
3. [formatDateLabel] Function

This can be one of two types:

  • function: a custom callback to format the resulting date rendered inside the Label component in any way you like by taking the given Date value and returning any string.

  • object: a configuration object that is more limited in terms of formatting options, but allows users to enter the date value using 3 separated text input fields to quickly enter any value they like, without using the calendar UI.

For example:

  • function: value => ${value.getDate()}/${value.getMonth() + 1}/${value.getFullYear()}

  • object: { separator: '/', order: }

You can use any string as a separator, defaults to '/'. For the order, you can use any order of 'date', 'month' and 'year' in an array.


  Arguments
# Name Type Description
1. value Object

The selected date value.

The current value of the component. This value should be a valid JavaScript date.

  Returns

Type: String

The formatted date value.

  Default value
{
	"separator": "/",
	"order": [
		"date",
		"month",
		"year"
	]
}
4. [isDisabled] Boolean

Whether or not the component should be rendered in a disabled state.

  Default value
false
5. [name] String

The name of this component to identify it (and its value) when used inside an intelligent container component which aggregates its children (and/or their values), like a Form.

  Default value
null
6. [onChange] Function

A callback that is called whenever a component's value changes.

This callback is called just before the "validate" prop is called.

Use this callback to update local state which in turn should update the value prop of the component whose callback just fired.


  Arguments
# Name Type Description
1. value Value | Array<ItemWithLabelAndValueValue>

A single value or an array of values, depending on the component that is changing.


  Value

Type: *

The current value of the component. This value will be visualized in the component, often using a human readable label, sometimes using another visual indication (e.g. Checkbox).

Depending on the component, the data type in JavaScript might be restricted further: eg: a TimeSelect might expect a Date, a TextInput a string etc. These restrictions are implemented with React PropTypes console warnings.

  ItemWithLabelAndValueValue

Type: *

The value of an ItemWithLabelAndValue.

This value is used to compare items, eg. when determining the selected item(s).

Depending on the component, the data type in JavaScript might be restricted further: eg: a TimeSelect might expect a Date, a TextInput a string etc. These restrictions are implemented with React PropTypes console warnings.

7. [tooltipContent] String | ReactElement

The content of the tooltip that is displayed when hovering over the whole component.

  • string: the textual content of the tooltip

  • ReactElement: a React Element (instance of a React Component, usually created with JSX)

  Default value
null
8. [validate] Function

A callback that is called directly after the value(s) of a form component change(s).

Use this callback to check the selected value(s) against business rules and to set any feedback for the user based on this.


  Arguments
# Name Type Description
1. value Value | Array<ItemWithLabelAndValueValue>

A single value or an array of values, depending on the component being validated.


  Value

Type: *

The current value of the component. This value will be visualized in the component, often using a human readable label, sometimes using another visual indication (e.g. Checkbox).

Depending on the component, the data type in JavaScript might be restricted further: eg: a TimeSelect might expect a Date, a TextInput a string etc. These restrictions are implemented with React PropTypes console warnings.

  ItemWithLabelAndValueValue

Type: *

The value of an ItemWithLabelAndValue.

This value is used to compare items, eg. when determining the selected item(s).

Depending on the component, the data type in JavaScript might be restricted further: eg: a TimeSelect might expect a Date, a TextInput a string etc. These restrictions are implemented with React PropTypes console warnings.

  Returns

Type: Object

The result of validating form input.

Properties

Name Type Description
connotation String

Determines the text/border color of the feedback message.

Specifies the meaning and/or severity of the given feedback. The possible values are: (from least to most severe)

  • 'success'

  • 'info'

  • 'warning'

  • 'error'

message String

The textual content of the feedback message shown near the form component whose validate callback yielded this result.

  Default value
null
9. [value] Object

The current value of the component. This value should be a valid JavaScript date.

  Default value
null
10. isBorderless
  Default value
false
11. onPositionerMount
12. onPositionerUnmount
Was this page helpful?