Hopp til hovedinnhold

Komponenter

Radio

Radio er et alternativ brukeren kan velge. Bruk flere Radio for å vise en liste med alternativer. Brukerne kan bytte mellom alternativene, men kan kun velge ett.

disabled
Description

Disables element @note Avoid using if possible for accessibility purposes

Type
boolean
readOnly
Description

Toggle `readOnly`

Type
boolean
aria-label
Description

Optional aria-label

Type
string
label
Description

Radio label

Type
ReactNode
description
Description

Description for field

Type
ReactNode
value
Description

Value of the `input` element

Type
string | number | readonly string[]
error
Description

Error message for field

Type
ReactNode
aria-labelledby
Type
string
NameTypeDefaultDescription
disabledboolean-

Disables element @note Avoid using if possible for accessibility purposes

readOnlyboolean-

Toggle `readOnly`

aria-labelstring-

Optional aria-label

labelReactNode-

Radio label

descriptionReactNode-

Description for field

valuestring | number | readonly string[]-

Value of the `input` element

errorReactNode-

Error message for field

aria-labelledbystring-

-

Bruk

Eksempel

Gruppering

Bruk Fieldset rundt en gruppe med radioknapper for å gi en felles ledetekst(<legend>) og eventuelt en beskrivelse (description).

Med feil

Her må vi bruke Fieldset, fordi den aktiverer riktig stil og sørger for at innholdet har de riktige sammenkoblingene for tilgjengelighet.

Readonly

Felter med readonly-attributtet er med i tabrekkefølgen. Brukerne kan kopiere innholdet men ikke redigere det. Informasjon blir med når skjemaet sendes inn.

readonly-felter kan være forvirrende for noen brukere. Ikke alle vil skjønne hvorfor de ikke får til å endre innholdet i feltet. Vi anbefaler derfor å unngå readonly så langt det lar seg gjøre.

Inline

Radio kan plasseres horisontalt med flex, men skal som hovedregel plasseres vertikalt.

HTML

Radio er ein samansatt komponent, så i HTML må du bygge den opp av fleire komponentar. Me bruker Fieldset, Label og Input for å lage ein Radio.

Koden under viser hvordan du visuelt kan bygge opp en Radio i HTML, men du må selv passe på at <input> blir koblet sammen med <label> og beskrivelse.

I Fieldset

Koden under er et eksempel på hvordan du bruker flere Radio inni <fieldset>.

CSS variabler og data-attributter

Checkbox er en sammensatt komponent, og derfor viser vi variabler og data-attributter fra ds-input her.

CSS-variabler
NavnVerdi
--dsc-input-padding-blockvar(--ds-size-2)
--dsc-input-padding-inlinevar(--ds-size-3)
--dsc-input-paddingvar(--dsc-input-padding-block) var(--dsc-input-padding-inline)
--dsc-input-size--togglevar(--ds-size-6)
--dsc-input-sizevar(--ds-size-12)
--dsc-input-background--readonlyvar(--ds-color-neutral-surface-tinted)
--dsc-input-backgroundvar(--ds-color-neutral-surface-default)
--dsc-input-border-color--readonlyvar(--ds-color-neutral-border-subtle)
--dsc-input-border-colorvar(--ds-color-neutral-border-default)
--dsc-input-border-stylesolid
--dsc-input-border-width--togglemax(var(--ds-border-width-default),calc(var(--ds-size-1)/2))
--dsc-input-border-widthvar(--ds-border-width-default)
--dsc-input-outline-color--hovervar(--ds-color-neutral-border-default)
--dsc-input-outline-color--toggle--hovervar(--dsc-input-accent-color)
--dsc-input-outline-width--hovervar(--ds-border-width-default)
--dsc-input-outline-style--hoversolid
--dsc-input-color--readonlyvar(--ds-color-neutral-text-default)
--dsc-input-colorvar(--ds-color-neutral-text-default)
--dsc-input-stroke-colorvar(--ds-color-base-contrast-default)
--dsc-input-stroke-color--invalidvar(--ds-color-danger-base-contrast-default)
--dsc-input-stroke-width0.05em
--dsc-input-accent-colorvar(--ds-color-base-default)
--dsc-input-accent-color--invalidvar(--ds-color-danger-text-subtle)
--dsc-input-line-heightvar(--ds-line-height-md)
Data-attributter
NavnVerdi
data-widthauto
Rediger denne siden på github.com (åpnes i ny fane)