Textarea

Multi-line text input for longer form content.

Basic Textarea

A simple textarea with label.

<%= render Rvk::TextareaComponent.new(
  name: "message",
  label: "Message",
  placeholder: "Enter your message..."
) %>

Custom Rows

Control the textarea height with rows.

<%= render Rvk::TextareaComponent.new(name: "short", label: "Short (2 rows)", rows: 2, placeholder: "Brief note...") %>
<%= render Rvk::TextareaComponent.new(name: "long", label: "Long (8 rows)", rows: 8, placeholder: "Detailed description...") %>

With Hint and Error

Add helper text or validation errors.

Write a short bio about yourself.

Description is required.

<%= render Rvk::TextareaComponent.new(
  name: "bio",
  label: "Bio",
  hint: "Write a short bio about yourself.",
  placeholder: "I'm a developer who..."
) %>

<%= render Rvk::TextareaComponent.new(
  name: "description",
  label: "Description",
  error: "Description is required."
) %>

Props

Prop Type Default Description
name String required Form field name
rows Integer 4 Number of visible text lines
label String nil Label text
label_style Symbol :stacked Label style: :stacked or :floating
size Symbol :md Input size: :sm, :md, :lg
hint String nil Helper text below textarea
error String nil Error message
required Boolean false Mark as required
disabled Boolean false Disable the textarea