Pricing
Get Started
  • Introduction
  • Installation
  • MCP Server
  • Saved
Site
  • Builder (Beta)
  • Pricing
  • Roadmap
  • Affiliates
Browse
  • All Components80 New
Text34
  • 3D Letter Swap
  • 3D Text Reveal
  • ASCII Ripple
  • Bending Marquee
  • Blur Highlight
  • Cipher RevealNew
  • Domino LetteringNew
  • Elastic LetteringNew
  • Ghost TypeNew
  • Glitch Text
  • Glyph LotteryNew
  • Gravity LettersNew
  • Label OrbitNew
  • Luminous TypeNew
  • Mesh LetteringNew
  • Orbital TypeNew
  • Particle Text
  • Ribbon TypeNew
  • Rising InkNew
  • Shatter TypeNew
  • Signal TypeNew
  • Smoke TypeNew
  • Speeding Text
  • Spring LetteringNew
  • Staggered Text
  • Stipple TypeNew
  • Tessera TrailNew
  • Text Cube
  • Text MorphNew
  • Text Path
  • Text Scatter
  • Typographic WallNew
  • Vapor TypeNew
  • Wave LetteringNew
Backgrounds98
  • ASCII Tiles
  • Ascii Waves
  • Astral ShellNew
  • Aura Blob
  • Aurora Beam
  • Aurora Blur
  • Axial BeamNew
  • Binary OrbitsNew
  • Black Hole
  • Blinking Dots
  • Blinking Squares
  • Blurred Rays
  • Chroma Blinds
  • Chroma CurrentNew
  • Chroma Waves
  • Cloud AtlasNew
  • Color Loops
  • Concentric TidesNew
  • Contour TideNew
  • Dappled LightNew
  • Dither Wave
  • Dot Shift
  • Eclipse
  • Fading StarsNew
  • Falling Rays
  • Flame Paths
  • Fog Sphere
  • Glass Flow
  • Glass Tiles
  • Glimmer WrapNew
  • Glitter Warp
  • Glowing Ridges
  • Glowing Wave
  • Glue Dots
  • Glyph EmberNew
  • Glyph OrbNew
  • Glyph SonarNew
  • Glyph TideNew
  • Gradient Bars
  • Grain Wave
  • Halftone Vortex
  • Halftone Wave
  • Hexagonal VaultNew
  • Horizon BloomNew
  • Interference RibbonsNew
  • Landscape
  • Light Droplets
  • Lightspeed
  • Liquid Bars
  • Liquid Lines
  • Long Exposure
  • Luminous FilamentsNew
  • Metallic Swirl
  • Minimal Ripple
  • Mosaic
  • Mosaic Waves
  • Neon Reveal
  • Neural Flash
  • Neural Float
  • Neural Tunnel
  • Nexus RaysNew
  • Perspective Grid
  • Photon KnotNew
  • Pixel Rain
  • Prismatic SlatsNew
  • Radial Liquid
  • Ravine
  • Retro Lines
  • Ring FieldNew
  • Rising Lines
  • Rising Particles
  • Rolling Blinds
  • Rotating Stars
  • Rubber Fluid
  • Satin RidgesNew
  • Shader Waves
  • Shadow Bars
  • Silk Waves
  • Simple Swirl
  • Specter Orb
  • Spectral Clouds
  • Spectral DrapeNew
  • Spiral FunnelNew
  • Square Matrix
  • Squares Terminal
  • Squircle Shift
  • Star Swipe
  • Swirl Blend
  • Synaptic Shift
  • Tech Wall
  • Terminal RainNew
  • Thinking Dots
  • Twilight Lines
  • Vortex
  • Voxel ArcNew
  • Warp Twister
  • Watercolor
  • Wireframe Ball
3D & Shaders49
  • Agentic Ball
  • AI Blob
  • Album RailNew
  • Bend Gallery
  • Chrome OrbitNew
  • Circle Stack
  • Concave CarouselNew
  • Constellation GalleryNew
  • Contact SheetNew
  • Depth Card
  • Depth Image
  • Depth RibbonNew
  • Device
  • Dolly Gallery
  • Elastic ReelNew
  • Elastic StickerNew
  • Ember RevealNew
  • Expanding GridNew
  • Frame Border
  • Glass Reveal
  • Globe
  • Gradient Blob
  • Helix GalleryNew
  • Infinite Gallery
  • Inverted Dome
  • Iris GalleryNew
  • Lenticular Carousel
  • Momentum RingNew
  • Page Flip
  • Parallax Carousel
  • Particle Image
  • Particle Morph
  • Passage GalleryNew
  • Pixel Reveal
  • Pixel Sculpt
  • Pixelate Hover
  • Pond ImageNew
  • Portal
  • Prism CarouselNew
  • Rotating Cards
  • Scroll BendNew
  • Scroll Portal
  • Shader Card
  • Shader Reveal
  • Spin ShutterNew
  • Star Burst
  • Tumble Carousel
  • Twisting Gallery
  • Warped Card
Cursor Effects21
  • Arc CursorNew
  • Ascii Cursor
  • Celebration CursorNew
  • Chroma HaloNew
  • Cursor Wave
  • Custom Cursor
  • Dither Cursor
  • Drafting CursorNew
  • Glass Cursor
  • Glyph StreamNew
  • Grid Rise
  • Gyroscope CursorNew
  • Liquid Ascii
  • Parallax Pills
  • Pigment TrailNew
  • Pixel Magnet
  • Ribbon TrailNew
  • Smooth Cursor
  • Snapshot TrailNew
  • Stardust CursorNew
  • User Cursor
UI & Cards28
  • Animated List
  • Card Spread
  • Center Flow
  • Chroma Card
  • Circle Gallery
  • Circles
  • Click Stack
  • Comparison Slider
  • Credit Card
  • Draggable Grid
  • Frame Scrub
  • Gradient Carousel
  • Hover Preview
  • Liquid Swap
  • Loupe ImageNew
  • Magic Transform
  • Modal Cards
  • Orbit ReelNew
  • Parallax Cards
  • Preloader
  • Reel Gallery
  • Scroll Mask
  • Scroll Stack
  • Simple Graph
  • Skewed Carousel
  • Tile Reveal
  • Tilted Tiles
  • Tumble WallNew
  1. Docs
  2. Components
  3. 3D & Shaders
  4. Momentum Ring
PreviousLenticular Carousel3D & ShadersNextPage Flip3D & Shaders

Animated components, blocks, and templates for React. Pay once, ship stunning pages forever.

pro@reactbits.dev

Site

HomeBuilder (Beta)PricingTestimonialsFAQsRoadmapChangelogFree Components

Docs

IntroductionInstallationMCP ServerComponentsBlocksTemplates

Resources

AboutUse casesComparisonsAlternativesFor AI agents

Legal & Account

LoginAffiliateLicensePrivacyContact

© 2026 pro.reactbits.dev. All rights reserved.

Momentum Ring

A ring of photos that blurs as it spins and clicks into place

vertical-reel-tw

Customize

Background
Aspect
1.60
Size
0.42
Curvature
0.60
Distance
3.0
Tilt
6°
Gap
22px
Radius
14px
Dim
0.45
Edge Fade
0.50
Motion Blur
0.60
Friction
0.50
Speed
0.25
Interval
3.5s

Props

31
NameTypeDefaultDescription
items{ src: string; alt: string; title?: string; subtitle?: string; href?: string }[]built-in scene collectionImages around the ring, in order (up to 32). Images must allow cross-origin loading. Title and subtitle caption the front image; href is followed when the front image is clicked or Enter is pressed.
startIndexnumber0Index of the image that faces the viewer once the ring has loaded.
direction"horizontal" | "vertical""horizontal"Spin the ring sideways, or up and down like a slot reel with the caption beside it.
aspectnumber1.6Width divided by height of every card. Images are cropped to fill it.
sizenumber0.42Card height as a fraction of the component height. Cards narrow automatically to fit the width.
curvaturenumber0.6How tightly the ring bends, from 0 (a flat strip) to 1 (a tight drum showing three cards).
distancenumber3Camera distance in card widths. Closer exaggerates the perspective.
tiltnumber6Camera tilt in degrees, so the ring is seen slightly from above. Negative values look from below.
gapnumber22Space between cards in pixels.
radiusnumber14Card corner radius in pixels.
dimnumber0.45How much cards fade into the background as they turn away from the viewer.
edgeFadenumber0.5Width of the fade at the ends of the ring, where cards leave the component.
motionBlurnumber0.6Shutter length for the motion blur. The ring blurs in proportion to its speed and is sharp at rest. 0 turns it off.
frictionnumber0.5How quickly a flicked ring slows down. Low values coast for several turns, high values stop within a few cards.
snapbooleantrueClick into place on the nearest card when the ring slows down, like a detent.
autoplay"step" | "spin" | "drift" | "off""step"Step advances one card every interval; spin turns three to six cards at a time; drift rotates continuously at speed.
speednumber0.25Drift speed in cards per second. A negative value reverses the direction of every autoplay mode.
intervalnumber3.5Seconds between steps or spins.
pauseOnHoverbooleantruePause autoplay while the pointer is over the ring.
draggablebooleantrueDrag or flick the ring to spin it. It coasts with momentum; pressing while it spins fast catches it on the next card.
wheelbooleantrueScroll to turn the ring, one card per notch. Set false to leave page scrolling untouched.
captionsbooleantrueShow the title and subtitle of the front image while the ring is at rest.
backgroundColorstring"transparent"Background of the component. Caption text and image placeholders adapt to it.
pausedbooleanfalseStops autoplay. Space toggles the same pause from the keyboard. Reduced-motion users get no autoplay and no blur.
dprnumber2Maximum device pixel ratio for the canvas.
ariaLabelstring"Image reel…"Accessible description of the ring and how to use it.
onIndexChange(index: number) => void—Called whenever a different image comes to the front.
onSelect(item, index) => void—Called when the front image is clicked or Enter is pressed.
ref{ next, previous, goTo, spin }—next() and previous() step one card, goTo(index) takes the shortest way round, spin(cards) turns by a number of cards.
classNamestring—Classes for the root element. It fills its parent, with a 420px minimum height.
styleCSSProperties—Inline styles for the root element.
items{ src: string; alt: string; title?: string; subtitle?: string; href?: string }[]

Images around the ring, in order (up to 32). Images must allow cross-origin loading. Title and subtitle caption the front image; href is followed when the front image is clicked or Enter is pressed.

Defaultbuilt-in scene collection
startIndexnumber

Index of the image that faces the viewer once the ring has loaded.

Default0
direction"horizontal" | "vertical"

Spin the ring sideways, or up and down like a slot reel with the caption beside it.

Default"horizontal"
aspectnumber

Width divided by height of every card. Images are cropped to fill it.

Default1.6
sizenumber

Card height as a fraction of the component height. Cards narrow automatically to fit the width.

Default0.42
curvaturenumber

How tightly the ring bends, from 0 (a flat strip) to 1 (a tight drum showing three cards).

Default0.6
distancenumber

Camera distance in card widths. Closer exaggerates the perspective.

Default3
tiltnumber

Camera tilt in degrees, so the ring is seen slightly from above. Negative values look from below.

Default6
gapnumber

Space between cards in pixels.

Default22
radiusnumber

Card corner radius in pixels.

Default14
dimnumber

How much cards fade into the background as they turn away from the viewer.

Default0.45
edgeFadenumber

Width of the fade at the ends of the ring, where cards leave the component.

Default0.5
motionBlurnumber

Shutter length for the motion blur. The ring blurs in proportion to its speed and is sharp at rest. 0 turns it off.

Default0.6
frictionnumber

How quickly a flicked ring slows down. Low values coast for several turns, high values stop within a few cards.

Default0.5
snapboolean

Click into place on the nearest card when the ring slows down, like a detent.

Defaulttrue
autoplay"step" | "spin" | "drift" | "off"

Step advances one card every interval; spin turns three to six cards at a time; drift rotates continuously at speed.

Default"step"
speednumber

Drift speed in cards per second. A negative value reverses the direction of every autoplay mode.

Default0.25
intervalnumber

Seconds between steps or spins.

Default3.5
pauseOnHoverboolean

Pause autoplay while the pointer is over the ring.

Defaulttrue
draggableboolean

Drag or flick the ring to spin it. It coasts with momentum; pressing while it spins fast catches it on the next card.

Defaulttrue
wheelboolean

Scroll to turn the ring, one card per notch. Set false to leave page scrolling untouched.

Defaulttrue
captionsboolean

Show the title and subtitle of the front image while the ring is at rest.

Defaulttrue
backgroundColorstring

Background of the component. Caption text and image placeholders adapt to it.

Default"transparent"
pausedboolean

Stops autoplay. Space toggles the same pause from the keyboard. Reduced-motion users get no autoplay and no blur.

Defaultfalse
dprnumber

Maximum device pixel ratio for the canvas.

Default2
ariaLabelstring

Accessible description of the ring and how to use it.

Default"Image reel…"
onIndexChange(index: number) => void

Called whenever a different image comes to the front.

Default—
onSelect(item, index) => void

Called when the front image is clicked or Enter is pressed.

Default—
ref{ next, previous, goTo, spin }

next() and previous() step one card, goTo(index) takes the shortest way round, spin(cards) turns by a number of cards.

Default—
classNamestring

Classes for the root element. It fills its parent, with a 420px minimum height.

Default—
styleCSSProperties

Inline styles for the root element.

Default—