Skip to content

Textarea

Multi-line text input component with label and layout support.

Live Demo

Vertical (default)

Horizontal

Inner

Usage

Basic

vue
<template>
  <orio-textarea
    v-model="description"
    label="Description"
    placeholder="Enter description..."
  />
</template>

<script setup>
const description = ref("");
</script>

Horizontal Layout

vue
<orio-textarea
  v-model="comment"
  label="Comment"
  layout="horizontal"
/>

Inner Layout

vue
<orio-textarea
  v-model="notes"
  label="Notes"
  layout="inner"
/>

Props

PropTypeDefaultDescription
modelValuestring""Textarea value (v-model)
layout"vertical" | "horizontal" | "inner""vertical"Label position relative to textarea
labelstringundefinedLabel text
placeholderstringundefinedPlaceholder text

All standard HTML textarea attributes are supported via v-bind="$attrs".

Events

EventPayloadDescription
update:modelValuestringEmitted when textarea value changes

Styling

css
--color-bg           /* Textarea background */
--color-border       /* Border color */
--color-text         /* Text color */
--color-accent       /* Focus border color */
--color-accent-soft  /* Focus ring color */
--color-muted        /* Placeholder and inner label color */