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 */