Componentdata-display

Marquee

Stable

Faixa horizontal que rola continuamente — logos, tags, novidades. O laço é do `react-fast-marquee`; o que o Up Web DS acrescenta é o que a biblioteca deixa para quem a usa: as cópias que ela renderiza para preencher a faixa ficam fora da árvore de acessibilidade e do Tab, o foco dentro dela para o laço e o traz de volta ao início, e sob movimento reduzido a faixa vira uma linha estática que quebra. É conteúdo ambiente: nada nela pode ser o único lugar onde uma informação existe, e uma faixa cujo conteúdo importa vem com um controle de pausa.

Instalação

npx up-web-ds add marquee

Preview

Basic

With Fades

Reversed

Pausable

All states

Basic

With Fades

Reversed

With Links

Pausable

Usage

@/components/marquee
import {
  Marquee,
  MarqueeContent,
  MarqueeItem,
} from '@/components/marquee'
Marquee
<Marquee>
  <MarqueeContent>
    <MarqueeItem>Next.js</MarqueeItem>
    <MarqueeItem>React</MarqueeItem>
    <MarqueeItem>TypeScript</MarqueeItem>
    <MarqueeItem>Tailwind CSS</MarqueeItem>
    <MarqueeItem>Base UI</MarqueeItem>
  </MarqueeContent>
</Marquee>

Props

Marquee

Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).

MarqueeContent

Props de MarqueeContent
PropTypeDefaultDescription
autoFillbooleantrue
childrenReactNodenull
classNamestring""
delaynumber0
direction"left" | "right" | "up" | "down""left"
loopnumber0
onCycleComplete(() => void)null
onFinish(() => void)null
onMount(() => void)null
pauseOnClickbooleanfalse
pauseOnHoverbooleantrue
playbooleantrue
speednumber50
styleCSSProperties{}

Estende Omit< FastMarqueeProps, 'gradient' | 'gradientColor' | 'gradientWidth' | 'ref' >. Aceita também os atributos padrão de um elemento React (1 não listados).

MarqueeFade

Props de MarqueeFade
PropTypeDefaultDescription
side, obrigatória"left" | "right"sem valor padrãoThe edge the fade covers.

Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).

MarqueeItem

Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).

prop obrigatória.

Composition

O Marquee é a moldura que recorta a faixa e ancora os fades; o MarqueeContent é a faixa que se move, com um MarqueeItem por entrada. Os fades são irmãos da faixa, um em cada borda.

Composição de Marquee

Marquee

  • MarqueeFade
  • MarqueeContent
    • MarqueeItem
  • MarqueeFade

Metadata

Notas de acessibilidade

Verificado em tests/e2e/marquee.spec.ts no Chromium desktop e mobile, em light e dark. Teclado verificado em navegador: Tab visita cada link da faixa uma única vez e depois sai dela, porque as cópias que a biblioteca renderiza são inert; com o foco dentro, o laço para e a faixa volta ao início, então o link focado fica visível em vez de congelado além da borda (WCAG 2.2 SC 2.4.11), e o laço retoma quando o foco sai. Pausa (SC 2.2.2): o hover pausa, o foco para, e o exemplo pausable mostra o controle que uma faixa com conteúdo relevante precisa — um botão antes da faixa, alcançável por Tab e acionável por Enter, cujo rótulo diz o que ele fará. Leitor de tela verificado por teste e pela árvore de acessibilidade do navegador: cada item é exposto uma vez, as cópias são aria-hidden e os fades são decorativos. Axe sem violações WCAG 2.2 AA nos exemplos. Toque verificado em viewport de 375px com emulação de toque: os links e o controle de pausa medem pelo menos 24x24, o toque no controle pausa a faixa, e os fades não interceptam o toque. Reduced motion verificado em navegador com prefers-reduced-motion: reduce — o laço é decorativo, então não roda: a faixa é renderizada uma vez, estática, numa linha que quebra, com cada item visível e nenhum cortado; os fades somem porque nada passa da borda, e o controle de pausa some porque não há o que pausar. A classe também carrega a condição, então o laço não roda nem no quadro anterior à leitura da preferência. A biblioteca injeta a própria folha de estilo com o keyframe global `scroll` e as classes `.rfm-*`.

Classificação

Layer
Component
Domínio
Application
Categoria
data-display
Status
Stable

Origem e distribuição

Fonte
kibo registry / marquee
Licença
MIT
Distribuição
Interna

Acessibilidade

  • Teclado: revisado
  • Leitor de tela: revisado
  • Touch: revisado
  • Reduced motion: revisado

Dependências

Pacotes
react-fast-marquee
Ícones
Nenhum
Construído sobre
Nenhum
Usado por
Nenhum ainda