Komponenter
Switch
Switch lar brukerne velge mellom to alternativer ved å slå noe av eller på.
HTML
Unable to parse html
const Preview = () => { return <Switch label='Switch' />; }; render(<Preview />)
Bruk switch når
- brukerne skal slå på eller av en funksjon eller innstilling
- du vil at handlingen skal få umiddelbar effekt
Unngå switch når
- brukerne skal svare på spørsmål i skjemaer, bruk heller radio eller checkbox
- brukerne skal veksle mellom ulike visninger av innhold, for eksempel liste og graf, bruk heller toggleGroup
- innhold skal filtreres, bruk heller chip
Eksempel
Gruppering
Bruk fieldset for å gruppere flere switch-komponenter sammen.
HTML
Unable to parse html
const Group = () => { return ( <Fieldset> <Fieldset.Legend>Skru av/på lys</Fieldset.Legend> <Switch label='Stue' checked /> <Switch label='Kjøkken' /> <Switch label='Bad' /> <Switch label='Soverom' description='Får ikke kontakt med lyspærene' readOnly /> </Fieldset> ); }; render(<Group />)
Outline
Outline varianten legger på ekstra padding og en ramme rundt valget slik at det blir en større klikkflate.
HTML
Unable to parse html
const Outline = () => { return ( <Fieldset> <Fieldset.Legend>Aktiver varslinger</Fieldset.Legend> <Switch variant='outline' label='Driftsmeldinger' checked /> <Switch variant='outline' label='Påminnelser' /> <Switch variant='outline' label='Nyhetsoppdateringer' /> <Switch label='SMS-varsler' description='Mangler gyldig telefonnummer i profilen' variant='outline' readOnly /> </Fieldset> ); }; render(<Outline />)
Høyrejustert
Noen ganger kan det være nyttig å høyrejustere switch, for eksempel når den er plassert i en tabell eller et fast oppsett.
HTML
Unable to parse html
const RightAligned2 = () => ( <div style={{ flexDirection: 'column', width: '100%', maxWidth: '380px', }} > <Divider /> <Field position='end' style={{ alignItems: 'center', padding: 'var(--ds-size-2) 0', }} > <Label>Flymodus</Label> <Input type='checkbox' role='switch' /> </Field> <Divider /> <Field position='end' style={{ alignItems: 'center', padding: 'var(--ds-size-2) 0', }} > <Label>Lydløs</Label> <Input type='checkbox' role='switch' /> </Field> <Divider /> </div> ); render(<RightAligned2 />)
Retningslinjer
Om bryteren skal vises som av eller på, avhenger av konteksten.
Tekst
Teksten til en bryter bør være kort og presis, ofte betyr det bare ett eller to ord.
Teksten skal gi mening når du sier ledeteksten høyt og legger til en av/på-bryter etterpå.
Teksten skal beskrive hva funksjonen gjelder, ikke om den er på eller av.
Gjør slik
Unngå dette
Hvis du har flere brytere i en gruppe, må du passe på at du formulerer tekstene for hver bryter på samme måte. Eksempelet under viser at tekstene er formulert likt når det er flere brytere på samme sted (gruppe).
Gjør slik
Unngå dette
Hvor skal teksten stå?
Som regel setter vi bryteren til venstre og teksten til høyre. Da er det enklest å se hvilken tekst som tilhører hvilken bryter.
I noen tilfeller er brytere fast plassert på høyre side i grensesnittet. Da er det best at teksten er på venstre side, slik at alle bryterne blir høyrejustert rett under hverandre.
Rediger denne siden på github.com (åpnes i ny fane)