Hopp til hovedinnhold

Komponenter

Button

Button lèt brukarane utføre handlingar.

variant
Description

Specify which variant to use

Type
"primary" | "secondary" | "tertiary"
Default
primary
icon
Description

Toggle icon only styling, pass icon as children When combined with loading, the loading-icon will be shown instead of the icon.

Type
boolean
Default
false
loading
Description

Toggle loading state. Pass an element if you want to display a custom loader.

Type
any
Default
false
asChild
Description

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

Type
boolean
Default
false
type
Description

Specify the type of button. Unset when `asChild` is true

Type
"button" | "submit" | "reset"
Default
'button'
NameTypeDefaultDescription
variant"primary" | "secondary" | "tertiary"primary

Specify which variant to use

iconbooleanfalse

Toggle icon only styling, pass icon as children When combined with loading, the loading-icon will be shown instead of the icon.

loadinganyfalse

Toggle loading state. Pass an element if you want to display a custom loader.

asChildbooleanfalse

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

type"button" | "submit" | "reset"'button'

Specify the type of button. Unset when `asChild` is true

Bruk

Eksempel

Varianter

variant brukast for å endre utsjånad på knappen.

Fargar

Enten sett du data-color direkte på Button, eller så arvar den frå næraste overordna element med data-color.

Ikon

Dersom du har kun ikon i knappen kan du sette icon={true} for å få den firkanta. Har du anna innhald, som tekst, vil knappen automatisk få luft rundt ikonet.

Knapp som lenkje

Lenker kan få utsjånad som ein knapp, men vurder først om det er betre å bruke Link-komponenten. For å endre knappen til ei lenkje brukast asChild. Les meir kom komposisjon i Designsystemet.

Knappar som lastar

Under brukar me loading={true} for å vise at knappen lastar noko. Her kan du også sende inn din eigen loading-komponent dersom vår Spinner ikkje passar.

I eksempelet over blir aria-disabled sett automatisk når loading={true}. Dette er den anbefalte måten å vise at ein knapp er deaktivert på. Då kan knappen framleis få fokus når brukaren navigerer med tastatur. Slik blir skjermlesarar og andre hjelpemiddel informerte om at knappen finst, men at han ikkje er aktiv.

Merk: Verken loading="true" eller aria-disabled hindrar automatisk at knappen utløyser onClick. Du må sjølv sørgje for at callback-funksjonen ikkje køyrer når knappen er deaktivert.

HTML

Klassenavnet ds-button blir satt på <button>. I React legg me også på type="button" som standard, for å unngå uventa submit i skjema.

Det er tre data-attributtar du kan bruke for tilspasning: data-icon - legg på dersom knappen kun har ikon. data-variant - set variant på knappen (primary, secondary, tertiary). data-fullWidth - legg på dersom knappen skal vere full bredde.

Dersom du skal ha ein knapp som laster, må du sjølv legge til laste-indikator.

CSS variablar og data-attributtar

CSS-variabler
NavnVerdi
--dsc-button-background--activevar(--ds-color-base-active)
--dsc-button-background--hovervar(--ds-color-base-hover)
--dsc-button-backgroundvar(--ds-color-base-default)
--dsc-button-colorvar(--ds-color-base-contrast-default)
--dsc-button-color--hovervar(--ds-color-base-contrast-default)
--dsc-button-border-widthvar(--ds-border-width-default)
--dsc-button-border-stylesolid
--dsc-button-border-colortransparent
--dsc-button-gapvar(--ds-size-2)
--dsc-button-paddingvar(--ds-size-2) var(--ds-size-4)
--dsc-button-sizevar(--ds-size-12)
Data-attributter
NavnVerdi
data-variantsecondary, tertiary
data-icon
data-fullwidth
Rediger denne siden på github.com (åpnes i ny fane)