Magoo Component UI logo Magoo Component UI
← Catalog

Price Ticker Tape

price-ticker-tape molecule experimental

A continuously scrolling horizontal tape of market quotes (symbol, price, change) that pauses on hover and respects reduced motion.

The width preview needs a screen wider than the chosen width — use a larger device (or a desktop browser) to see the desktop and tablet layouts.

Default
AAPL $184.20 +1.4% TSLA $242.10 -0.8% NVDA $121.35 +3.2% MSFT $429.80 +0.6% AMZN $178.90 -1.1% META $512.40 +2.0% GOOGL $168.25 -0.3%
Indices
S&P 500 5,431.60 +0.9% NASDAQ 17,689.40 +1.3% DOW 38,905.66 -0.2% RUSSELL 2,022.10 -0.7% VIX 13.24 -4.1% FTSE 8,146.90 +0.4%

Props

NameTypeReq
quotes array ✓
speed enum (slow | normal | fast)
label string

Related components

How to use

behavior.js drives the scroll with requestAnimationFrame - there is no CSS keyframe. It reads data-speed from the root, translates the .price-ticker-tape__track each frame, and wraps the offset by the width of the first .price-ticker-tape__group so the two duplicated groups tile seamlessly. It pauses on hover and focus-within and does not animate at all when prefers-reduced-motion is set. The portable self-init reads all config from data-* attributes - no props object is passed. Because screenshots do not run behavior.js, the tape renders static (at its start position) in captured images.

Use cases

bannermedia WCAG AA SEO 20 dir: both ai-generated