Hopp til hovedinnhold

Komponenter

Field

Field er et hjelpemiddel for å automatisk koble et felt sammen med Label, Field.Description, ValidationMessage og Field.Counter.

Det er vanlig å bli forvirret mellom Fieldset og Field. En god huskeregel er at Fieldset er et sett med Field

position
Description

Position of toggle inputs (radio, checkbox, switch) in field

Type
"start" | "end"
Default
start
asChild
Description

Change the default rendered element for the one passed as a child, merging their props and behavior.

Type
boolean
Default
false
NameTypeDefaultDescription
position"start" | "end"start

Position of toggle inputs (radio, checkbox, switch) in field

asChildbooleanfalse

Change the default rendered element for the one passed as a child, merging their props and behavior.

Bruk

Field kan brukes sammen med Input, Textarea og Select. OBS: Textfield har allerede Field innebygd, og kan derfor ikke brukes i en Field.

Eksempel

Prefix/Suffix

Prefixer og suffixer er nyttige for å vise enheter, valuta eller andre typer informasjon som er relevant for feltet. Du skal ikke bruke disse alene, siden skjermlesere ikke leser dem opp. Det er viktig at samme informasjon som vises i prefixet eller suffixet også er inkludert i ledeteksten.

Antall tegn

Bruk Field.Counter til å informere om antall tegn brukerne kan skrive i feltet.

Plassering

Bruk position="end" når du ønsker å plassere for eksempel en Switch til høyre for Label.

Du kan endre teksten ved å sende inn props, som du kan se øverst på siden. Språket er standard norsk bokmål.

HTML

Du kan få styling fra Field med klassenavnet ds-field. På beskrivelse må du sette data-field="description" for å få korrekt styling.

Diverre er det ein del javascript som Field køyrer internt, så dette må koblest opp selv. Koden vi bruker er ikke react-spesifikk, så du kan kopiere koden vår inntil vi har et bedre alternativ utenfor React.

fieldObserver (github.com)

Pass på at skjemafeltet har aria-describedby som refererer til både beskrivelse og valideringsmelding.. Error skal ligge først i aria-describedby slik at skjermlesere leser opp feilmeldingen først.

data-field="validation" trengst kun dersom du kobler opp fieldObserver.

Plassering

For å endre plassering av elementer i Field, som for eksempel en Switch, kan du legge til data-position="end|start" på samme element som ds-field.

CSS variabler og data-attributter

CSS-variabler
NavnVerdi
--dsc-field-content-spacingvar(--ds-size-2)
--dsc-field-affix-border-widthvar(--ds-border-width-default)
--dsc-field-affix-border-stylesolid
--dsc-field-affix-border-colorvar(--ds-color-neutral-border-default)
--dsc-field-affix-padding-inlinevar(--ds-size-4)
Data-attributter
NavnVerdi
data-fielddescription
data-positionend
Rediger denne siden på github.com (åpnes i ny fane)