# [Usage](../../../usage.md) > [Components](../basics.md) > [Form](form.md) > TextArea

Multi-line free-text field for descriptions, notes and formatted content inside a [Form](form.md) schema. Use it instead of [Input](input.md) when the text wraps over several lines, and instead of [Select](select.md) when the value is not constrained to a list; switch `type` to `richtext` for toolbar formatting.

![image](img/text_area_1.png)

```php
{!! 
  \KFramework\Components\Forms\TextArea::make()
  ->setLabel('label')
  ->setRequired()
  ->setPostIcon('account-badge')
  ->setValue('some text')
!!}

{!!
  \KFramework\Components\Forms\TextArea::make()
  ->setLabel('label')
  ->setRequired()
  ->setValue('some text')
  ->setType('richtext')
!!}
```

**End-to-end example:** product description with rich text.
```php
// Blade:
{!!
  \KFramework\Components\Forms\TextArea::make('description')
    ->setLabel('Description')
    ->setRequired()
    ->setType('richtext')
    ->setPlaceholder('Write the product details...')
    ->setValue($product->description ?? null)
!!}

// Controller:
use KFramework\Components\Forms\TextArea;

$description = TextArea::make('description')
    ->setLabel('Description')
    ->setType('richtext')
    ->setRequired();

return view('products.edit', compact('description'));
```

---
## Usage

- Blade:
```php
{!! \KFramework\Components\Forms\TextArea::make() !!}
```
- Controller:
```php
TextArea::make()
```

---
## Standard attributes

- `uuid`
- `id`
- `classes`
- `extraAttributes`
- `name`
- `label`
- `value` — initial text content; with `richtext` it may contain HTML.
- `type`:
  - `null` or not defined -> standard text area
  - `richtext` -> enable RichText mode
- `default`
- `placeholder`
- `hidden`
- `required`
- `disabled`
- `preIcon`
- `postIcon`
- `columnSpan`
- `updateOnChange` — when true, editing the text refreshes dependent fields.

See their usage and description [here](../basics.md).

## See also
- [Components basics](../basics.md)
- [Form](form.md), [Input](input.md), [Select](select.md)
- [value](../shared_attributes/value.md), [type](../shared_attributes/type.md), [label](../shared_attributes/label.md)

