DatePicker

OverviewExamplesPropertiesMethodsEventsCSS PropertiesDependenciesUsageIntegration

Date Picker allows user to enter a date either through text input, or by choosing a date from the calendar. Please note that the date must be passed in ISO-8601 format: YYYY-MM-DD.

Properties

PropertyAttribute Description TypeDefault
valuevalueDate value. Must be in IS0-8601 format: YYYY-MM-DD.string''
openopenControls whether date picker dialog is open or not.booleanfalse
minminMinimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD. This setting can be used alone or together with the max property.string | undefined
maxmaxMaximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD. This setting can be used alone or together with the min property.string | undefined
todaytodayThe date that is considered today. Must be in IS0-8601 format: YYYY-MM-DD. If not set, the current local date of the user is used.string | undefined
firstDayOfWeekfirst-day-of-weekWhich day is considered first day of the week? `0` for Sunday, `1` for Monday, etc. Default is Monday.DaysOfWeek
expandexpandControls whether the date picker expands to fill the width of its container.booleanfalse
sizesizeThe size of the component.'s' | 'm' | 'l''m'
labellabelLabel for the input.string''
hinthintOptional hint text to be displayed with the input. Alternatively use the hint slot.string | undefined
hideLabelhide-labelVisually hide the label, but still show it to assistive technologies like screen readers.booleanfalse
placeholderplaceholderPlaceholder text to display within the input.string | undefined
errorerrorOptional error to be shown with the input. Alternatively use the error slot.string | undefined
requiredrequiredDetermines whether the input is required or not. An input marked as required will be announced as such to users of assistive technology. When using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.booleanfalse
hideRequiredhide-requiredVisually hide the required indicator, but still show required attribute to assistive technologies like screen readers.booleanfalse
readonlyreadonlyMakes the component readonly, so that it is not editable. Readonly differs from disabled in that readonly fields are still focusable and will be submitted with a form.booleanfalse
disableddisabledMakes the component disabled. This prevents users from being able to interact with the component, and conveys its inactive state to assistive technologies.booleanfalse
namenameThe name of the form component.string | undefined
formformGets the form, if any, associated with the form element. The setter accepts a string, which is the id of the form.HTMLFormElement | null

Methods

Method nameParameters Description
hide(moveFocusToButton?: boolean) => voidmoveFocusToButton: A boolean option to move the focus to the original button that opens the popout.Hide the date picker programmatically.
show() => voidN/AShow the date picker programmatically.
focus(options?: FocusOptions) => voidoptions: An object which controls aspects of the focusing process.Programmatically move focus to the component.
blur() => voidN/AProgrammatically remove focus from the component.
click() => voidN/AProgrammatically simulates a click on the component.
EventDetail TypeDescription
changeNordEventFired whenever the input's value is changed via user interaction.
openNordEventDispatched when the popout is opened.
closeNordEventDispatched when the popout is closed.
nord-focus-dateDateSelectEventDispatched when the calendar's focused date changes.
inputNordEventFired as the user types into the input.

CSS Properties

CSS Custom Properties provide more fine grain control over component presentation. We advise utilizing existing properties on the component before using these.

PropertyDescriptionDefault
--n-label-colorControls the text color of the label, using our color tokens.var(--n-color-text)

Usage

This section includes guidelines for designers and developers about the usage of this component in different contexts.

Do

  • Use when the user needs to choose a single date or a date range.

Don’t

  • Don’t use for entering date of birth. Use input component instead.
  • Don’t use to choose a date that is over 10 years in the future or the past.

Keyboard accessibility

Date picker is built to closely follow W3C Date Picker Dialog example with some small exceptions to e.g. better support iOS VoiceOver and Android TalkBack.

Choose date button

  • Space, Enter: Opens the date picker dialog and moves focus to the first select menu in the dialog.

Date picker dialog

  • Esc: Closes the date picker dialog and moves focus back to the “choose date” button.
  • Tab: Moves focus to the next element in the dialog. Please note since the calendar uses role="grid", only one button in the calendar grid is in the tab sequence. Additionally, if focus is on the last focusable element, focus is next moved back to the first focusable element inside the date picker dialog.
  • Shift + Tab: Same as above, but in reverse order.

Date picker dialog: Month/year buttons

  • Space, Enter: Changes the month and/or year displayed.

Date picker dialog: Date grid

  • Space, Enter: Selects a date, closes the dialog, and moves focus back to the “Choose Date” button. Additionally updates the value of the date picker input with the selected date, and adds selected date to “Choose Date” button label.
  • Arrow up: Moves focus to the same day of the previous week.
  • Arrow down: Moves focus to the same day of the next week.
  • Arrow right: Moves focus to the next day. In right-to-left languages, moves focus to the previous day.
  • Arrow left: Moves focus to the previous day. In right-to-left languages, moves focus to the next day.
  • Home: Moves focus to the first day (e.g Monday) of the current week.
  • End: Moves focus to the last day (e.g. Sunday) of the current week.
  • Page Up: Changes the grid of dates to the previous month and sets focus on the same day of the same week.
  • Shift + Page Up: Changes the grid of dates to the previous year and sets focus on the same day of the same week.
  • Page Down: Changes the grid of dates to the next month and sets focus on the same day of the same week.
  • Shift + Page Down: Changes the grid of dates to the next year and sets focus on the same day of the same week.

Date picker dialog: Close button

  • Space, Enter: Closes the dialog, moves focus to “choose date” button, but does not update the date in input.

Integration

For integration guidelines, please see Web Components documentation .

Was this page helpful?

Yes No

We use this feedback to improve our documentation.