BOBInputTextArea
Multi-line text input with auto-resize, character limits, and the full InputText API surface.
API reference ↗Basic usage
Keep it short.
RAZOR
<BOBInputTextArea @bind-Value="_basic" Label="Description" HelperText="Keep it short." />Variants
RAZOR
<BOBInputTextArea @bind-Value="_outlined" Variant="BOBInputVariant.Outlined" Label="Outlined" />
<BOBInputTextArea @bind-Value="_filled" Variant="BOBInputVariant.Filled" Label="Filled" />
<BOBInputTextArea @bind-Value="_standard" Variant="BOBInputVariant.Standard" Label="Standard" />Sizes
RAZOR
<BOBInputTextArea @bind-Value="_small" Size="BOBSize.Small" Label="Small" />
<BOBInputTextArea @bind-Value="_medium" Size="BOBSize.Medium" Label="Medium (Default)" />
<BOBInputTextArea @bind-Value="_large" Size="BOBSize.Large" Label="Large" />Color & Background
RAZOR
<BOBInputTextArea @bind-Value="_colorValue" Label="Custom Color & Background" Color="@PaletteColor.Secondary" BackgroundColor="@PaletteColor.SecondaryContrast" />Auto-resize
Grows with its content — no scrollbar until needed.
RAZOR
<BOBInputTextArea @bind-Value="_auto" Label="Notes" AutoResize="true" Rows="2" />Rows & max length
0/200
RAZOR
<BOBInputTextArea @bind-Value="_rows" Label="Bio" Rows="5" MaxLength="200" HelperText="@($"{_rows.Length}/200")" />Resize behavior
RAZOR
<BOBInputTextArea @bind-Value="_resizeNone" Label="No resize" Resize="TextAreaResize.None" />
<BOBInputTextArea @bind-Value="_resizeBoth" Label="Both axes" Resize="TextAreaResize.Both" />Shadow
RAZOR
<BOBInputTextArea @bind-Value="_shadowValue" Variant="BOBInputVariant.Outlined" Label="Elevation Shadow" Shadow="@BOBShadowPresets.Elevation(2)" />
<BOBInputTextArea @bind-Value="_shadowValue" Variant="BOBInputVariant.Outlined" Label="Custom Shadow" Shadow="@(ShadowStyle.Create(5, 10, 0.14f, color: "purple"))" />States
Invalid content
RAZOR
<BOBInputTextArea @bind-Value="_required" Label="Required" Required="true" />
<BOBInputTextArea @bind-Value="_readonly" Label="Read-only" ReadOnly="true" />
<BOBInputTextArea @bind-Value="_disabled" Label="Disabled" Disabled="true" />
<BOBInputTextArea @bind-Value="_error" Label="Error" Error="true" HelperText="Invalid content" />Properties
25 rows.
| Property | Type | Default | Description |
|---|---|---|---|
Size | BOBSize | BOBSize.Medium | Visual size of the textarea. |
Loading | bool | | When , the textarea shows a loading indicator. |
LoadingIndicatorVariant | BOBLoadingIndicatorVariant | BOBLoadingIndicatorVariant.CircularProgress | Variant of the loading indicator shown when is . |
Density | BOBDensity | BOBDensity.Standard | Vertical density (gap) of the textarea. |
Shadow | ShadowStyle? | | Shadow style applied to the textarea container. |
BackgroundColor | string? | | Background color of the textarea. Accepts any valid CSS color value. |
Color | string? | | Text color of the textarea. Accepts any valid CSS color value. |
PrefixText | string? | | Text displayed before the textarea value. |
PrefixIcon | IconKey? | | Material icon name for the Prefix. |
PrefixColor | string? | | Prefix color. Accepts any valid CSS color value. |
PrefixBackgroundColor | string? | | PrefixBackground color. Accepts any valid CSS color value. |
SuffixText | string? | | Text displayed after the textarea value. |
SuffixIcon | IconKey? | | Material icon name for the Suffix. |
SuffixColor | string? | | Suffix color. Accepts any valid CSS color value. |
SuffixBackgroundColor | string? | | SuffixBackground color. Accepts any valid CSS color value. |
Label | string? | | Floating label displayed above the textarea when it has a value or focus. |
Placeholder | string? | | Placeholder text shown when the component is empty. |
HelperText | string? | | Helper text displayed below the component for additional context. |
Rows | int | 3 | Number of visible text rows. |
MaxLength | int? | | /// Browser-enforced character cap, emitted as the maxlength HTML attribute. /// UI hint only — a malicious client (devtools, direct fetch, modified WASM) can /// bypass it. Always re-validate on the server before persisting the value. /// |
AutoResize | bool | | When , the textarea grows vertically as content is added. |
Resize | TextAreaResize | TextAreaResize.Vertical | Direction the user is allowed to resize the textarea via the corner grip. |
UpdateOnInput | bool | | When , the bound value updates on every keystroke instead of on blur. |
OnInput | EventCallback<string> | | Raised on every keystroke when is enabled. |
OnInputDebounceMs | int | | /// Trailing-edge debounce delay applied to only. When /// greater than 0, the callback fires after this many milliseconds of /// keyboard inactivity, coalescing burst keystrokes into a single invocation. /// 0 disables debouncing (default). is /// unaffected: when enabled, the bound /// still propagates immediately per keystroke. /// |