Hopp til hovedinnhold

Hva leter du etter?

Prøv å søke etter…

Komponenter

Field

Field er et hjelpemiddel for å automatisk koble et felt sammen med label, beskrivelse, validation message og antall tegn.

HTML

Trykk Enter for å redigere
Unable to parse html
const Preview = () => {
  return (
    <Field>
      <Label>Etternavn</Label>
      <Field.Description>
        Etternavn kan ikke inneholde mellomrom
      </Field.Description>
      <Input defaultValue='Nordmann Svenske' />
      <ValidationMessage>
        Du kan ikke ha mellomrom i etternavnet ditt
      </ValidationMessage>
    </Field>
  );
};

render(<Preview />)

Bruk

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

Field kan brukes sammen med input, textarea og select. OBS: textfield har allerede field innebygd og kan derfor ikke brukes inni en field.

Legg klassenavnet ds-field<ds-field>-elementet. <ds-field> kobler sammen label, input, beskrivelse, valideringsmelding og counter.

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.

Antall tegn

Legg til en <p> med attributtet data-field="counter" inne i ds-field for å få en teller på input og textarea.

Du kan styre teksten i telleren ved å bruke følgende attributter:

attributetypedefaultrequired
data-limitnumberundefinedtrue
data-overstring%d tegn for myefalse
data-understring%d tegn igjenfalse

Plassering

Bruk data-position="end"<ds-field> når du for eksempel ønsker å plassere en switch til høyre for label. Standard er data-position="start".

Ubestemt

For å sette en checkbox til ubestemt, legg til data-indeterminate="true"<input>-elementet.

CSS variabler og data-attributter

Størrelser styres med data-size og farger med data-color. Komponenten vil arve nærmeste forelder med disse satt.

CSS-variabler
NavnVerdi
--dsc-field-content-spacingvar(--ds-size-2)
--dsc-field-counter-over"%d tegn for mye"
--dsc-field-counter-under"%d tegn igjen"
--dsc-field-description-colorvar(--ds-color-neutral-text-subtle)
--dsc-field-border-colorvar(--ds-color-neutral-border-default)
--dsc-field-border-color--checkedvar(--ds-color-border-default)
--dsc-field-border-color--invalidvar(--ds-color-danger-border-default)
--dsc-field-border-color--readonlyvar(--ds-color-neutral-border-subtle)
--dsc-field-border-radiusvar(--ds-border-radius-lg)
--dsc-field-border-stylesolid
--dsc-field-border-widthvar(--ds-border-width-default)
--dsc-field-border-width--activemax(2px,0.125rem)
--dsc-field-paddingvar(--ds-size-4)
--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)
--dsc-field-affix-backgroundvar(--ds-color-neutral-surface-tinted)
--dsc-field-affix-colorvar(--ds-color-neutral-text-subtle)
Data-attributter
NavnVerdi
data-fielddescription, counter
data-stateover
data-clickdelegatefor
data-positionend
data-variantoutline

React

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. @deprecated This is not supported anymore, as the element needs to be `ds-field`

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. @deprecated This is not supported anymore, as the element needs to be `ds-field`

FieldCounter

over
Description

Label template for when `maxCount` is exceeded. Use `%d` to insert the number of characters.

Type
string
Default
'%d tegn for mye'
under
Description

Label template for count. Use `%d` to insert the number of characters.

Type
string
Default
'%d tegn igjen'
hint
Description

@deprecated The hint attribute is deprecated.

Type
string
limit
Description

The maximum allowed characters.

Type
number
Default
undefined
asChild
Description

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

Type
boolean
Default
false
NameTypeDefaultDescription
overstring'%d tegn for mye'

Label template for when `maxCount` is exceeded. Use `%d` to insert the number of characters.

understring'%d tegn igjen'

Label template for count. Use `%d` to insert the number of characters.

hintstring-

@deprecated The hint attribute is deprecated.

limitnumberundefined

The maximum allowed characters.

asChildbooleanfalse

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

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