Komponenter
Fieldset
Fieldset brukes til å gruppere og navngi felt som naturlig hører sammen, for eksempel datofelt eller adressefelt. Komponenten hjelper med å organisere informasjon, gjøre skjemaer mer oversiktlige og forbedre tilgjengeligheten for skjermlesere.
Det er vanlig å bli forvirret mellom fieldset og field. En god huskeregel er at fieldset er et sett med fields
HTML
Unable to parse html
const Preview = () => { return ( <Fieldset> <Fieldset.Legend>Hvilken fjordarm bor du ved?</Fieldset.Legend> <Fieldset.Description> Valget vil hjelpe oss å forbedre innholdet vi viser deg. </Fieldset.Description> <Radio label='Barsnesfjorden' name='radio' value='barsnesfjorden' /> <Radio label='Eidsfjorden' name='radio' value='eidsfjorden' /> <Radio label='Ingen av de' name='radio' value='ingen-av-de' /> </Fieldset> ); }; render(<Preview />)
Bruk
Bruk ds-fieldset på <fieldset>-elementet.
Eksempel
Med checkbox eller radio
Bygg opp gruppen med checkbox eller radio som barn av <fieldset>. Dette gjelder også når gruppen kun har ett element.
HTML
Unable to parse html
const WithCheckbox = () => { return ( <Fieldset> <Fieldset.Legend>Godtar du vilkårene?</Fieldset.Legend> <Checkbox label='Ja, jeg godtar' value='agree' /> </Fieldset> ); }; render(<WithCheckbox />)
Ulike felt typer
Et fieldset kan også gruppere andre felter, for eksempel field med input og select.
HTML
Unable to parse html
const WithFields = () => { return ( <Fieldset> <Fieldset.Legend>Personopplysninger</Fieldset.Legend> <Fieldset.Description> Fyll inn dine personopplysninger nedenfor. </Fieldset.Description> <Field> <Label>Fornavn</Label> <Input /> </Field> <Field> <Label>Kjønn</Label> <Select> <Select.Option value='male'>Mann</Select.Option> <Select.Option value='female'>Kvinne</Select.Option> <Select.Option value='other'>Annet</Select.Option> </Select> </Field> </Fieldset> ); }; render(<WithFields />)
Readonly
Felter med readonly-attributtet er med i tabrekkefølgen. Brukerne kan kopiere innholdet men ikke redigere det. Informasjon blir med når skjemaet sendes inn.
readonly-felter kan være forvirrende for noen brukere. Ikke alle vil skjønne hvorfor de ikke får til å endre innholdet i feltet. Vi anbefaler derfor å unngå readonly så langt det lar seg gjøre.
HTML
Unable to parse html
const ReadOnly = () => { return ( <Fieldset> <Fieldset.Legend>Hvilken bydel bor du i?</Fieldset.Legend> <Fieldset.Description> Trondheim er delt inn i fire bydeler </Fieldset.Description> <Radio label='Østbyen' value='ostbyen' name='city' readOnly /> <Radio label='Lerkendal' value='lerkendal' name='city' readOnly /> <Radio label='Heimdal' value='heimdal' name='city' readOnly checked /> <Radio label='Midtbyen' value='midtbyen' name='city' readOnly /> </Fieldset> ); }; render(<ReadOnly />)
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.
| Navn | Verdi |
|---|---|
| --dsc-fieldset-gap | var(--ds-size-4) |
| --dsc-fieldset-description-color | var(--ds-color-neutral-text-subtle) |
| Navn | Verdi |
|---|---|
| data-field | description |
React
- variant
- Description
Adjusts styling for paragraph length
- Type
"long" | "default" | "short"- Default
'default'
- asChild
- Description
Change the default rendered element for the one passed as a child, merging their props and behavior.
- Type
boolean- Default
false
| Name | Type | Default | Description |
|---|---|---|---|
| variant | "long" | "default" | "short" | 'default' | Adjusts styling for paragraph length |
| asChild | boolean | false | Change the default rendered element for the one passed as a child, merging their props and behavior. |