Komponenter
Switch
Switch gir brukerne et valg mellom to alternativer. Bryteren kan enten slås av eller på og skal alltid være innstilt med et standardvalg.
React
Unable to parse html
const Preview = () => { return <Switch label='Switch' />; }; render(<Preview />)
- aria-label
- Description
Optional aria-label
- Type
string
- label
- Description
Switch label
- Type
ReactNode
- description
- Description
Description for field
- Type
ReactNode
- value
- Description
Value of the `input` element
- Type
string | number | readonly string[]
- position
- Description
Position of switch
- Type
"start" | "end"- Default
start
- aria-labelledby
- Type
string
| Name | Type | Default | Description |
|---|---|---|---|
| aria-label | string | - | Optional aria-label |
| label | ReactNode | - | Switch label |
| description | ReactNode | - | Description for field |
| value | string | number | readonly string[] | - | Value of the `input` element |
| position | "start" | "end" | start | Position of switch |
| aria-labelledby | string | - | - |
Bruk
Eksempel
Gruppering
Bruk Fieldset for å gruppere flere Switch-komponenter sammen.
React
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 />)
Høyrejustert
Bruk position="end" til å plassere Switch på høyre side av ledeteksten hvis
du trenger det.
React
Unable to parse html
const RightAligned = () => { return <Switch label='Flymodus' position='end' defaultChecked />; }; render(<RightAligned />)
HTML
Klassenavnet ds-input legges på <input> sammen med type="checkbox" og role="switch".
For å speile det som den samensatte komponenten i React gjør, må du bruke ds-field sammen med en <label>.
Skal du høyrejustere <input> legger du data-position="end" på ds-field.
CSS variabler og data-attributter
Switch er en sammensatt komponent, og derfor viser vi variabler og data-attributter fra ds-input her.
| Navn | Verdi |
|---|---|
| --dsc-input-padding-block | var(--ds-size-2) |
| --dsc-input-padding-inline | var(--ds-size-3) |
| --dsc-input-padding | var(--dsc-input-padding-block) var(--dsc-input-padding-inline) |
| --dsc-input-size--toggle | var(--ds-size-6) |
| --dsc-input-size | var(--ds-size-12) |
| --dsc-input-background--readonly | var(--ds-color-neutral-surface-tinted) |
| --dsc-input-background | var(--ds-color-neutral-surface-default) |
| --dsc-input-border-color--readonly | var(--ds-color-neutral-border-subtle) |
| --dsc-input-border-color | var(--ds-color-neutral-border-default) |
| --dsc-input-border-style | solid |
| --dsc-input-border-width--toggle | max(var(--ds-border-width-default),calc(var(--ds-size-1)/2)) |
| --dsc-input-border-width | var(--ds-border-width-default) |
| --dsc-input-outline-color--hover | var(--ds-color-neutral-border-default) |
| --dsc-input-outline-color--toggle--hover | var(--dsc-input-accent-color) |
| --dsc-input-outline-width--hover | var(--ds-border-width-default) |
| --dsc-input-outline-style--hover | solid |
| --dsc-input-color--readonly | var(--ds-color-neutral-text-default) |
| --dsc-input-color | var(--ds-color-neutral-text-default) |
| --dsc-input-stroke-color | var(--ds-color-base-contrast-default) |
| --dsc-input-stroke-color--invalid | var(--ds-color-danger-base-contrast-default) |
| --dsc-input-stroke-width | 0.05em |
| --dsc-input-accent-color | var(--ds-color-base-default) |
| --dsc-input-accent-color--invalid | var(--ds-color-danger-text-subtle) |
| --dsc-input-line-height | var(--ds-line-height-md) |
| Navn | Verdi |
|---|---|
| data-width | auto |