Pular para o conteúdo

Footer

Footer canônico para páginas institucionais e produtos Sinapse.

Instalação

Instale Button e Separator da sua stack e rode o comando individual ITpS em seguida. O comando itps add footer é 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 button separator
pnpm dlx github:ITPS/sinapse-ui-cli add footer

terminal · Vue3/Nuxt4

pnpm dlx shadcn-vue@latest add button separator
pnpm dlx github:ITPS/sinapse-ui-cli add footer

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

Uso

Footer não tem primitive próprio no shadcn/ui. Em React/Next ou Vue3/Nuxt4, componha um <footer> semântico com Button asChild/as-child para links estilizados e Separator para dividir a linha legal.

Para HTML ou wrappers finos, use itps-footer. Esse é o contrato público do CSS copy-first e já inclui grid responsivo, texto de apoio, colunas de navegação e estados de foco nos links.

Exemplos

Estrutura

PeçaReact/Next e Vue3/Nuxt4HTML
Região<footer>itps-footer
Layoutgrid com utilitáriositps-footer__grid
Resumotexto semânticoitps-footer__summary + itps-footer__description
Coluna<nav aria-label>itps-footer__column
Títuloheading localitps-footer__column-title
LinksButton asChild / Button as-childitps-footer__link
Texto não interativo<span>itps-footer__text
Divisão legalSeparatoritps-footer__legal

Use a linha legal quando o footer precisa expor site institucional, termos ou contato. Links continuam sendo anchors reais; itens informativos ficam como texto para evitar falsos alvos de foco.

API copy-first

Classe/atributoUso
itps-footerRegião final da página com largura máxima e espaçamento responsivo.
itps-footer__gridOrganiza resumo e colunas de links.
itps-footer__summaryLimita a largura do texto institucional.
itps-footer__descriptionTexto de apoio do sistema, produto ou organização.
itps-footer__column-titleHeading curta para uma coluna de navegação.
itps-footer__listLista sem marcadores para links ou textos.
itps-footer__linkAnchor com cor, hover e foco do sistema.
itps-footer__textItem informativo sem ação.
itps-footer__legalLinha separada para organização, termos e contato.
itps-footer__legal-textLink ou texto institucional da organização.
itps-footer__legal-linksLista horizontal de links legais.
aria-labelNomeia cada coluna de navegação.

Acessibilidade

Use <footer> apenas uma vez por página ou por região independente. Agrupe listas de links em <nav aria-label="..."> quando existirem várias colunas. Não use Button para navegação copy-first; use <a>. Nos snippets shadcn, Button asChild/as-child preserva o elemento <a> como destino real.