Textarea — PAM Native UI
PAM Native UI · Android evidence
p-textarea rendered by the production retained-native pipeline. The specimen below is a real Physical Samsung SM-G973F Android 12 (API 31) capture at 420 dpi, not an HTML recreation.
Physical Samsung layout, route and native interaction verified
- Family
- Forms and editing
- Module
textarea- PHP facade
PTextarea- Native targets
- Android · UIKit
Forms and editing component rendered through the retained-native Android and UIKit pipeline.
Android specimen

Interaction recording
The touch trace was captured from the Android application while exercising the native component.

Showcase profiles
Every profile below is rendered by the Android catalog route shown above.
- Default
- Comfortable
- Compact
- Disabled
- Read Only
- Error
- Filled
- Outlined
- Underlined
- Solo
- Solo inverted
- Solo filled
- Plain
- Hint and required
- Clearable
- Prefix and suffix
- Counter
- Prepend Icon
- Append Icon
- Persistent Placeholder
- Hide Details
- Single Line
- Auto Grow
- No Resize
- Four Rows
PHP usage
use Pam\MobileUi\Material\PTextarea;
use Pam\Native\UI\Text;
PTextarea::make(
[
'variant' => "filled",
'accessibilityLabel' => "PTextarea preview",
'appendIcon' => "SettingsIcon",
],
Text::make('Textarea'),
);The equivalent PAM template entry point is <p-textarea>…</p-textarea>.
See the PAM Native UI guide for event, state and styling conventions, and the quality contractfor native behavior requirements.
Component properties
| Property | Observed type | Showcase values |
|---|---|---|
accessibilityLabel | string | "PTextarea preview" |
appendIcon | string | "SettingsIcon" |
autoGrow | bool | true |
clearable | bool | true |
counter | bool | true |
density | string | "comfortable", "compact" |
disabled | bool | true |
error | bool | true |
helper | string | "Up to 280 characters", "This value needs attention", "Required field", "Maximum 40 characters" |
hideDetails | bool | true |
label | string | "PTextarea" |
maxLength | int | 280, 40 |
modelValue | string | "Built for Android and iOS.", "Clear this value", "120", "Native value" |
noResize | bool | true |
persistentHint | bool | true |
persistentPlaceholder | bool | true |
placeholder | string | "Write a message" |
prefix | string | "$" |
prependIcon | string | "SearchIcon" |
readonly | bool | true |
required | bool | true |
rows | int | 3, 2, 4 |
singleLine | bool | true |
suffix | string | "USD" |
variant | string | "filled", "outlined", "underlined", "solo", "solo-inverted", "solo-filled" |