Komponenter
MonthPicker
MonthPicker lar brukeren velge en måned. Den kan enten knyttes til et inputfelt eller bygges inn på siden.
Egnet til:
- Velge en spesifikk måned
Eksempler
Retningslinjer
Datoer langt bak eller frem i tid
Ved valg av datoer som er langt bak eller frem i tid, bør man bruke dropdownCaption-prop med fromDate/toDate. Det lar brukeren raskere finne fram til riktig år.


Returformat
Komponenten returnerer datoer som et JS Date-objekt. Husk å ta høyde for tidssone ved bruk av f.eks. ISO-format. I selve komponenten bruker vi date-fns v4 for parsing.
Standard år
Du kan bruke defaultYear-propen til å styre hvilket år som vises når månedsvelgeren åpnes. Dette er nyttig når du har en antakelse om hvilket år som er mest aktuelt.
Testing
For å få konsekvente datoer lokalt og i testmiljø må du kanskje definere en tidssone i test-rammeverket. For eksempel for Vitest settes miljøvariabelen TZ=UTC.
Tilgjengelighet
Hvis du skal bruke DatePicker med et input, anbefaler vi å bruke MonthPicker.Input sammen med useMonthpicker-hooken. Da håndteres fokus og åpning/lukking automatisk.
Props
MonthPicker
children?
- Type:
ReactNode - Description:
Element monthpicker anchors to. Use <MonthPicker.Input /> for built-in toggle, or make your own with the open/onClose props
className?
- Type:
string - Description:
Classname for datepicker in popover
wrapperClassName?
- Type:
string - Description:
Classname for wrapper
fromDate?
- Type:
Date - Description:
The earliest month to start navigation.
toDate?
- Type:
Date - Description:
The latest day to end navigation.
translations?
- Type:
RecursivePartial<{ chooseDate: string; chooseDates: string; chooseDateRange: string; chooseMonth: string; week: string; weekNumber: string; selectWeekNumber: string; month: string; goToNextMonth: string; ... 7 more ...; closeMonthPicker: string; }> - Description:
i18n-API for customizing texts and labels.
NB: If you need to change the language, use Provider instead.
dropdownCaption?
- Type:
boolean - Default:
false - Description:
Display dropdown for choosing year. Needs
fromDate+toDateto work.
disabled?
- Type:
Matcher[] - Description:
Apply the disabled modifier to the matching months. Uses a subset of React Day Picker Matcher type. https://react-day-picker.js.org/api/type-aliases/Matcher
selected?
- Type:
Date - Description:
Controlled selected-month
defaultSelected?
- Type:
Date - Description:
Default selected month.
open?
- Type:
boolean - Description:
Open state for user-controlled state. Component controlled by default
onClose?
- Type:
(() => void) - Description:
onClose callback for user-controlled state
onOpenToggle?
- Type:
(() => void) - Description:
onOpenToggle callback for user-controlled-state. Only called if
<MonthPicker.Input />is used
onMonthSelect?
- Type:
((month?: Date) => void) - Description:
Callback for user-controlled state
year?
- Type:
Date - Description:
Used to set visible year programmatically. Component controlled by default
onYearChange?
- Type:
((y?: Date) => void) - Description:
Event fired when the user navigates between years.
strategy?
- Type:
"fixed" | "absolute" - Default:
""absolute"" - Description:
Avoid using if possible!
Changes what CSS position property to use You want to use "fixed" if parent wrapper has position relative, but you want popover to escape
data-color?
- Type:
(string & {}) | AkselColor
locale?
- Deprecated:Use `<Provider />`-component
- Type:
"nb" | "nn" | "en" - Default:
"nb" (norsk bokmål) - Description:
Changes monthpicker locale
MonthPicker.Input
label
- Type:
ReactNode - Description:
Input label
hideLabel?
- Type:
boolean - Default:
false - Description:
Shows label and description for screen readers only
size?
- Type:
"medium" | "small" - Default:
""medium"" - Description:
Changes padding and font-sizes
error?
- Type:
ReactNode - Description:
Error message.
errorId?
- Type:
string - Description:
Override internal errorId.
disabled?
- Type:
boolean - Description:
Avoid using if possible for accessibility purposes.
Disables element.
description?
- Type:
ReactNode - Description:
Adds a description to extend the labeling.
id?
- Type:
string - Description:
Override internal id.
readOnly?
- Type:
boolean - Description:
Read-only state.
className?
- Type:
string
data-color?
- Type:
(string & {}) | AkselColor
ref?
- Type:
LegacyRef<HTMLInputElement> - Description:
Allows getting a ref to the component instance. Once the component unmounts, React will set
ref.currenttonull(or call the ref withnullif you passed a callback ref). React Docs
useMonthpicker
required?
- Type:
boolean - Description:
Make Date-selection required
onMonthChange?
- Type:
((date?: Date) => void) - Description:
Callback for month-change
inputFormat?
- Type:
string - Default:
"MMMM yyyy" - Description:
Input-format
onValidate?
- Type:
((val: MonthValidationT) => void) - Description:
validation-callback
defaultYear?
- Type:
Date - Description:
Default shown year
allowTwoDigitYear?
- Type:
boolean - Default:
true - Description:
Allows input of with
yyyear format.Decision between 20th and 21st century is based on before(todays year - 80) ? 21st : 20th. In 2024 this equals to 1944 - 2043
fromDate?
- Type:
Date - Description:
The earliest month to start navigation.
toDate?
- Type:
Date - Description:
The latest day to end navigation.
disabled?
- Type:
Matcher[] - Description:
Apply the disabled modifier to the matching months. Uses a subset of React Day Picker Matcher type. https://react-day-picker.js.org/api/type-aliases/Matcher
defaultSelected?
- Type:
Date - Description:
Default selected month.
locale?
- Deprecated:Use `<Provider />`-component
- Type:
"nb" | "nn" | "en" - Default:
"nb" (norsk bokmål) - Description:
Changes monthpicker locale
Tokens
Deprecation warning: I det nye systemet for theming og darkmode, er komponent-tokens fjernet. Les mer om det nye themingsystemet.
| Token | Fallback |
|---|---|
| --ac-date-middle-text | --a-text-on-action |
| --ac-date-middle-bg | --a-surface-action-selected |
| --ac-date-week-text | --a-text-on-neutral |
| --ac-date-week-bg | --a-surface-neutral |
| --ac-date-selected-text | --a-text-on-action |
| --ac-date-selected-bg | --a-surface-action-selected |
| --ac-date-disabled-bg | --a-surface-neutral-subtle |
| --ac-date-disabled-text | --a-text-subtle |
| --ac-date-hover-bg | --a-surface-action-subtle-hover |
| --ac-date-today-border | --a-border-action-selected |
| --ac-date-caption-text | --a-text-default |
| --ac-date-input-error-border | --a-border-danger |
| --ac-date-input-button-text | --a-text-default |
| --ac-date-input-button-hover-text | --a-text-action-on-action-subtle |
| --ac-date-input-button-hover-bg | --a-surface-action-subtle-hover |