Components
Textarea
The bare multi-line input: the field recipe on a `<textarea>`, sized by rows and resizable in the block direction. Standing alone it styles itself from the `invalid` prop; inside a `Field.Root` it consumes the field context, picking up the label id, the described-by wiring and the invalid state for free. Disabled rides the native attribute.
#Basic usage
<script setup lang="ts">
import { Textarea } from "@bysages/vue";
import { ref } from "vue";
const story = ref("");
</script>
<template>
<div class="grid gap-3 w-full">
<Textarea v-model="story" placeholder="Tell the story…" />
<Textarea placeholder="Invalid" invalid />
<Textarea placeholder="Disabled" disabled />
</div>
</template>
#Props
#Textarea
The bare multi-line input: the field recipe on a <textarea>, sized
by rows and resizable in the block direction. Standing alone it styles
itself from the invalid prop; inside a Field.Root it consumes the
field context, picking up the label id, the described-by wiring and
the invalid state for free. Disabled rides the native attribute.
| Prop | Type | Default | Description |
|---|---|---|---|
modelValue | String | undefined | — |
invalid | Boolean | false | — |