Hopp til hovedinnhold

Hva leter du etter?

Prøv å søke etter…

Komponenter

Toggle group

Toggle group samler relaterte alternativ. Komponenten består av ei gruppe knappar som heng saman, der berre éin knapp er mogleg å velje om gongen.

HTML

Trykk Enter for å redigere
Unable to parse html
const Preview = () => {
  return (
    <ToggleGroup data-toggle-group='Filter' defaultValue='innboks'>
      <ToggleGroup.Item value='innboks'>Innboks</ToggleGroup.Item>
      <ToggleGroup.Item value='utkast'>Utkast</ToggleGroup.Item>
      <ToggleGroup.Item value='arkiv'>Arkiv</ToggleGroup.Item>
      <ToggleGroup.Item value='sendt'>Sendt</ToggleGroup.Item>
    </ToggleGroup>
  );
};

render(<Preview />)

Bruk

Bruker du @digdir/designsystemet-web kan du implementere toggle group ved å bruke data-toggle-group-attributtet.

Gammel måte med <button>

Her må du håndtere tastaturnavigasjon og ARIA-roller sjølv.

Du kan lese om kva du må gjere for å implementere dette i tilgjengelighetsdokumentasjonen.

Klassenavnet ds-toggle-group blir lagt på ein <div> med role="radiogroup".

Kvar knapp i gruppa er ein <button> med klassenavn ds-button med role="radio" og aria-checked som indikerer om knappen er vald eller ikkje. data-variant for valde knappar skal stemme med data-variant på toggle group. Resterande knappar skal ha data-variant="tertiary".

CSS variablar og data-attributter

Størrelsar styrast med data-size og fargar med data-color. Komponenten vil arve næraste forelder med desse satt.

CSS-variabler
NavnVerdi
--dsc-togglegroup-backgroundvar(--ds-color-surface-default)
--dsc-togglegroup-border-widthvar(--ds-border-width-default)
--dsc-togglegroup-border-stylesolid
--dsc-togglegroup-border-colorvar(--ds-color-border-default)
--dsc-togglegroup-colorvar(--ds-color-text-default)
--dsc-togglegroup-spacing0
--dsc-togglegroup-border-radiusvar(--ds-border-radius-default)
--dsc-togglegroup-button-sizevar(--ds-size-12)
--dsc-togglegroup-label""
--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-color--activevar(--ds-color-base-contrast-default)
--dsc-button-color--hovervar(--ds-color-base-contrast-default)
--dsc-button-colorvar(--ds-color-base-contrast-default)
--dsc-button-border-colorvar(--ds-color-border-default)
Data-attributter
NavnVerdi
data-icon
data-variantsecondary

React

Eksempel på kontrollert

variant
Description

Specify which variant to use

Type
"primary" | "secondary"
Default
primary
value
Description

Controlled state for `ToggleGroup` component.

Type
string
defaultValue
Description

Default value.

Type
string
onChange
Description

Callback with selected `ToggleGroupItem` `value`

Type
((value: string) => void)
name
Description

Form element name

Type
string
data-toggle-group
Description

Toggle group label for accessibility

Type
string
NameTypeDefaultDescription
variant"primary" | "secondary"primary

Specify which variant to use

valuestring-

Controlled state for `ToggleGroup` component.

defaultValuestring-

Default value.

onChange((value: string) => void)-

Callback with selected `ToggleGroupItem` `value`

namestring-

Form element name

data-toggle-groupstring-

Toggle group label for accessibility

ToggleGroupItem

value
Description

The value of the ToggleGroupItem. Generates a random value if not set.

Type
string | (string & readonly string[])
icon
Description

@deprecated Icon prop is deprecated

Type
boolean
NameTypeDefaultDescription
valuestring | (string & readonly string[])-

The value of the ToggleGroupItem. Generates a random value if not set.

iconboolean-

@deprecated Icon prop is deprecated

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