Text Flip
StableUm espaço de texto que troca o item exibido pelo próximo, no lugar. Funciona melhor no fim de uma linha, onde a mudança de largura não empurra nada, e numa frase que faz sentido com qualquer um dos itens — o leitor de tela lê o item da vez, e a troca não é anunciada de propósito. `play` pausa o ciclo; sob movimento reduzido a troca vira um cross-fade.
Instalação
npx up-web-ds add text-flipPreview
Basic
Primitives
In Heading
Um catálogo para primitives
Inline
Instale qualquer item com up-web-ds add button
Slower
Validando o catálogo e as políticas do design system
With Index
1 de 5
Pausable
Status do build: typecheck
Stopped
Parado no primeiro item
All states
Basic
Primitives
In Heading
Um catálogo para primitives
Inline
Instale qualquer item com up-web-ds add button
Slower
Validando o catálogo e as políticas do design system
With Index
1 de 5
Pausable
Status do build: typecheck
Stopped
Parado no primeiro item
Usage
Props
prop obrigatória.
Metadata
Notas de acessibilidade
Verificado em tests/e2e/text-flip.spec.ts no Chromium desktop e mobile, em light e dark, com Axe sem violações WCAG 2.2 AA. Teclado: o item é texto, não entra na sequência de Tab. Leitor de tela: a troca não fica numa região live — anunciar a cada dois segundos afogaria o resto da página —, então o leitor lê o item da vez, e a frase em volta precisa fazer sentido com qualquer um; verificado por teste e em navegador que só o item atual está na árvore. `onIndexChange` dispara uma vez por troca (o upstream o chamava dentro de um updater de estado, que o React pode executar duas vezes) e um callback novo a cada render não reinicia o timer; com menos de dois itens o timer nem começa. Pausa (WCAG 2.2.2): `play` interrompe o ciclo, verificado em navegador, e no exemplo pausable o controle vem antes do texto. Touch verificado em 320px com emulação de toque: o título com a palavra que troca quebra dentro da própria caixa, e o controle de pausa atende ao piso de 24x24 e responde ao toque. Reduced motion verificado em navegador com prefers-reduced-motion: reduce — a troca continua, porque é conteúdo, mas nenhum quadro desloca ou desfoca o item: via useReducedMotion a troca vira um cross-fade e as variants do consumidor são ignoradas. O upstream deslizava e desfocava cada troca sem olhar a preferência.
Classificação
- Layer
- Component
- Domínio
- Application
- Categoria
- data-display
- Status
- Stable
Origem e distribuição
- Fonte
- ncdai registry / text-flip
- Licença
- MIT
- Distribuição
- Interna
Acessibilidade
- Teclado: revisado
- Leitor de tela: revisado
- Touch: revisado
- Reduced motion: revisado
Dependências
- Pacotes
- motion
- Ícones
- Nenhum
- Construído sobre
- Nenhum
- Usado por
- Nenhum ainda