Skip to content
W WRNexusJS
core component

Textarea

Reusable textarea component.

@wrnexus/ui 0.2.6711 props0 slots0 events

Usage

Components are auto-discovered. Use the component directly in any .wrn view:

<Textarea
  id="id"
  name="name"
  label="Message"
  value="value"
  placeholder="placeholder"
/>

Legacy mount name: data-component="Textarea".

Props and attributes

PropTypeRequirementDefault
classstringOptional""
idstringOptional""
namestringOptional""
labelstringOptional"Message"
valuestringOptional""
placeholderstringOptional""
rowsnumberOptional5
helpstringOptional""
errorstringOptional""
requiredbooleanOptionalfalse
disabledbooleanOptionalfalse

Slots

This component does not declare a slot.

Events

This component does not declare a custom event.

Source contract

Installed source: components/Textarea.wrn

component Textarea {
  props {
    class = ""
    id = ""
    name = ""
    label = "Message"
    value = ""
    placeholder = ""
    rows = 5
    help = ""
    error = ""
    required = false
    disabled = false
  }
  view {
        <div class="space-y-2 {class}">
        <label for="{id}" class="block text-sm font-semibold text-slate-800 dark:text-slate-200">{label}<span data-show="required" class="ml-1 text-red-500">*</span>
        </label>
        <textarea id="{id}" name="{name}" rows="{rows}" placeholder="{placeholder}" required="{required}" disabled="{disabled}" aria-invalid="{!!error}" class="w-full resize-y rounded-xl border bg-white px-3.5 py-3 text-slate-950 shadow-sm outline-none transition focus:border-violet-500 focus:ring-4 focus:ring-violet-500/10 dark:bg-slate-950 dark:text-white {error ? 'border-red-500' : 'border-slate-300 dark:border-slate-700'}">{value}</textarea>
        <p data-show="help && !error" class="text-sm text-slate-500">{help}</p>
        <p data-show="error" role="alert" class="text-sm font-medium text-red-600">{error}</p>
        </div>
    }
}