component Textarea { outputs { input(payload: { value?: string | number | boolean | null; values?: Array; sourceEvent?: Event; [key: string]: string | number | boolean | null | object } | string | number | boolean | null) change(payload: { value?: string | number | boolean | null; values?: Array; sourceEvent?: Event; [key: string]: string | number | boolean | null | object } | string | number | boolean | null) focus(payload: { sourceEvent?: Event; [key: string]: string | number | boolean | null | object }) blur(payload: { sourceEvent?: Event; [key: string]: string | number | boolean | null | object }) invalid(payload: { value: string | number | boolean | null | object; name: string; message: string; sourceEvent: Event }) } props { size: string = "default" color: string = "primary" id: string = "" name: string = "" label: string = "Textarea" hiddenLabel: boolean = false placeholder: string = "" value: string = "" variant: string = "normal" icon: string = "" iconPosition: string = "start" helperText: string = "" cornerHint: string = "" error: string = "" inline: boolean = false rows: number = 5 resize: string = "vertical" readonly: boolean = false disabled: boolean = false required: boolean = false minlength: string = "" maxlength: string = "" class: string = "" } functions { client function emitField(nameEvent, sourceEvent) { sourceEvent.stopPropagation() output[nameEvent]({ value: sourceEvent.currentTarget.value, name: name, sourceEvent: sourceEvent }) } client function handleInvalid(sourceEvent) { output.invalid({ value: sourceEvent.currentTarget.value, name: name, message: sourceEvent.currentTarget.validationMessage, sourceEvent: sourceEvent }) } } view {
{#if cornerHint}{cornerHint}{/if}
{#if icon}{/if} {#if variant === "floating"}{label}{/if}
{#if helperText}{helperText}{/if} {error}
} style { .wire-next--textarea { width: 100%; min-width: 0; } .wire-next--textarea[data-invalid="true"] { --wire-component-color: var(--wire-color-danger); } } }