Skip to content

Textarea

A themed multi-line text input — bordered-box style, same convention as ClarificationPrompt's free-text field.

Playground

Type something, or focus to see the glow.

vue
<script setup>
import { Textarea } from 'yemek'
</script>

<template>
  <Textarea v-model="aiInputText" :placeholder="t('erfassen.textPlaceholder')" />
</template>

Props

PropTypeDefaultDescription
modelValuestring''Current text (v-model).
placeholderstringundefinedPlaceholder shown when empty.
disabledbooleanfalseDisables the field.

Events

EventPayloadFired when
update:modelValuestringStandard v-model, on every input.

Behavior notes

  • Background is derived relative to the surface it's actually placed on (color-mix(in srgb, var(--yemek-color-text) 5%, var(--yemek-color-surface))), not the separate -inset token — same lesson as ChoicePicker (#39) and MealReviewCard's quantity panel (#41): a token tuned in isolation doesn't reliably match whatever surface a host app's own -surface token resolves to.
  • Focus state animates a border-color change plus a soft accent-colored glow (box-shadow), rather than an instant color swap.
  • prefers-reduced-motion: reduce disables the focus transition.