Components
Textarea
Textarea is used when the user needs to enter text that spans multiple lines.
React
Press Enter to start editing
const Preview = () => { return ( <> <Label htmlFor='my-textarea'>Label</Label> <Textarea id='my-textarea' /> </> ); }; render(<Preview />)
Use
Example
With Rows
Use the rows attribute to set the number of visible rows in the text area.
This only affects the initial height of the field.
React
Press Enter to start editing
const WithRowsEn = () => { return ( <> <Label htmlFor='my-textarea-rows'>Description</Label> <Textarea id='my-textarea-rows' rows={6} /> </> ); }; render(<WithRowsEn />)
Disabled
React
Press Enter to start editing
const Disabled = () => { return ( <> <Label htmlFor='my-textarea-disabled'>Label</Label> <Textarea id='my-textarea-disabled' disabled value='Disabled textarea' /> </> ); }; render(<Disabled />)
ReadOnly
React
Press Enter to start editing
const ReadOnlyEn = () => { return ( <Field> <Label htmlFor='my-textarea-readonly-en'>Case description</Label> <FieldDescription> This text has been added automatically based on information you have already submitted, and cannot be edited. </FieldDescription> <Textarea id='my-textarea-readonly-en' readOnly value='I am applying for support because I need funding to carry out the project as planned.' /> </Field> ); }; render(<ReadOnlyEn />)
HTML
Apply the class name ds-input to <textarea>.
CSS variables and data attributes
Textarea gets styling from ds-input, so we show variables and data attributes from that class here.
| Name | Value |
|---|---|
| --dsc-input-padding | var(--ds-size-2) var(--ds-size-3) |
| --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) |
| Name | Value |
|---|---|
| data-width | auto |