19 lines
1.0 KiB
Plaintext
19 lines
1.0 KiB
Plaintext
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>
|
|
}
|
|
}
|