Pular para o conteúdo

Field

Grupo semântico de label, controle, texto de apoio e erro para campos de formulário.

Como aparece no documento.

Instalação

Instale Field e Input da sua stack e rode o comando individual ITpS em seguida. O comando itps add field é theme-only: ele valida o slug e confirma que o contrato visual vem do tema ITpS, das classes copy-first e dos snippets desta página.

terminal · React/Next

pnpm dlx shadcn@latest add field input
pnpm dlx github:ITPS/sinapse-ui-cli add field

terminal · Vue3/Nuxt4

pnpm dlx shadcn-vue@latest add field input
pnpm dlx github:ITPS/sinapse-ui-cli add field

O comando individual adapta só este componente; não instala o catálogo inteiro.

Uso

Use itps-field para agrupar label, controle e mensagens do campo. Conecte textos de apoio ou erro pelo aria-describedby do controle.

Em React/Next com shadcn/ui e Vue3/Nuxt4 com shadcn-vue, use Field, FieldLabel, FieldDescription, FieldError e o controle da stack. Para HTML ou wrappers finos, mantenha label, controle e mensagens dentro de itps-field.

Exemplos

Obrigatório e validação

Use required no controle para obrigatoriedade. Em erro, marque o controle com aria-invalid="true" e aponte para a mensagem.

Formato inválido.

API copy-first

Classe/atributoUso
itps-fieldAgrupa label, controle e mensagens em uma coluna.
itps-field__labelLabel principal do controle.
itps-field__requiredIndicador visual de obrigatoriedade; use com aria-hidden="true".
itps-field__hintTexto de apoio conectado por aria-describedby.
itps-field__errorMensagem de erro conectada por aria-describedby.
itps-field__tooltipIndicador curto de informação complementar ao label.
for / idLiga o label ao controle.
aria-describedbyLiga o controle ao hint ou erro.
aria-invalid="true"Comunica estado inválido.
requiredComunica obrigatoriedade ao navegador e tecnologias assistivas.

Acessibilidade

O label deve apontar para o controle com for/id. Texto de apoio e erro devem ser referenciados por aria-describedby. Em erro, adicione aria-invalid="true" ao controle. Use required no controle; o asterisco é apenas apoio visual.