Hopp til hovedinnhold

Komponenter

Dropdown

Dropdown er en generisk nedtrekksliste. Den legger grunnmuren for å bygge menyer og lister.

Se Popover for props.

Bruk

Dropdown bruker Popover internt.

React og popovertarget

Når du bruker popover uten Dropdown.TriggerContext, kobler du selv sammen utløseren og popover. Da brukes popovertarget i små bokstaver, slik at alle versjoner av React korrekt gjengir attributtet. Når du bruker @digdir/designsystemet-react utvider vi @types/react-dom til å akseptere dette.

Polyfill

Dropdown bruker Popover API (mozilla.org). Dette apiet er klassifisert som Baseline: Newly available (mozilla.org) fra april 2024, med Firefox som siste nettleser la det til. I noen tilfeller kan en oppleve at brukere av ulike grunner er låst til eldre nettleserversjoner, og da kan det være aktuelt å legge til en Popover-Polyfill (github.com) for å sikre at Dropdown fungerer for alle.

Eksempel

Kontrollert

Dersom du sender inn open, så bruker du Dropdown kontrollert. Du kan bruke onClose for å få beskjed når Dropdown vil lukkes.

Uten TriggerContext

Dropdown bruker popover APIet, så du kan bruke Dropdown uten Dropdown.Trigger. Du må da legge til popovertarget={id}Dropdown, og idDropdown.

HTML

Du kan bruke native popover-api direkte i HTML. Dette kan brukes uten JavaScript, dersom du ikke vil polyfille.

Merk deg at elementet med popover="manual" bruker to klasser, ds-popover og ds-dropdown. Du velger selv om du vil bruke popover="manual" eller bare popover for å åpne dropdownen.

Popover API (mozilla.org)

CSS variabler og data-attributter

CSS-variabler
NavnVerdi
--dsc-dropdown-paddingvar(--ds-size-3) var(--ds-size-2)
--dsc-dropdown-item-paddingvar(--ds-size-2) var(--ds-size-4)
--dsc-dropdown-item-sizevar(--ds-size-12)
--dsc-dropdown-backgroundvar(--ds-color-neutral-surface-default)
--dsc-dropdown-border-widthvar(--ds-border-width-default)
--dsc-dropdown-border-stylesolid
--dsc-dropdown-border-colorvar(--ds-color-neutral-border-subtle)
--dsc-popover-arrow-sizevar(--ds-size-2)

Ingen relevante data-attributter funnet.

Referanser

Vi bruker ul og li tags i dropdownen, valget er basert på disse:

Rediger denne siden på github.com (åpnes i ny fane)