Ravox KitFormulário

Área de texto

Texto longo no mesmo desenho do Campo: rótulo, dica e erro ligados, contador de caracteres que avisa perto do limite e altura que cresce com o texto até um teto. Aceita o register() do React Hook Form direto.

Aparece na página do design e na busca.

Ajustes

Estado

Exemplos

Com React Hook Form

O autor recebe este texto por e-mail.

Resposta curta que cresce

Tamanho fixo, o usuário arrasta

Perto do limite

Restam 7 caracteres.

Instalação

O shadcn cria components/ui/area-texto.tsx no seu projeto e instala o tema junto. O arquivo é seu: edite à vontade.

npx shadcn@latest add https://ui.ravoxlabs.com/r/area-texto.json

Opções

OpçãoTipoPadrãoO que faz
rotuloReactNode—Texto do <label>. Sem rótulo, passe aria-label.
dicaReactNode—Ajuda embaixo, lida junto com o campo. Some quando há erro.
erroReactNode—Mensagem de erro: pinta a borda, marca aria-invalid e é lida junto com o campo.
contadorbooleanfalseMostra "120/500" no canto, contando contra o maxLength. Perto do fim muda de cor e o leitor de tela ouve quantos faltam.
crescerbooleantrueA altura acompanha o texto (field-sizing, com medida em JS onde não há). Desligado, o usuário arrasta o canto.
minLinhasnumber3Altura mínima, em linhas.
maxLinhasnumber10Até onde cresce; depois rola.
classeBlocostring—Classes do bloco de fora; className vai no <textarea>.
...propsComponentProps<"textarea">—Tudo o que um <textarea> aceita, inclusive maxLength e ref: {...register("descricao")} funciona.