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. Contact Sheet
PreviousConstellation Gallery3D & ShadersNextDepth Card3D & 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.

Contact Sheet

Photos streaming out of the center, developing like prints

contact-sheet-tw

Customize

Background
Border Color
Count
18
Speed
0.10
Rush
0.35
Spiral
0.00
Blank Area
0.20
Size
0.170
Size Variance
0.25
Aspect
0.80
Radius
12px
Border
0.000
Rim
0.12
Roll
0.0°
Develop
0.85
Shadow
0.50
Edge Fade
0.35
Hover Slow
0.60

Props

31
NameTypeDefaultDescription
items{ src: string; alt: string; title?: string; subtitle?: string; href?: string }[]studio portrait collectionPhotos streamed from the center, cycling through the collection in order. Images must allow cross-origin loading. Title and subtitle caption an opened photo.
countnumber18How many photos are in flight at once, up to 96.
speednumber0.1How fast the photos travel outward. Negative values reverse the stream so photos sink into the center.
rushnumber0.35How the photos accelerate as they near the edges. 0 is an even, calm zoom; 1 is true perspective, where photos rush past at the end.
spiralnumber0How much the paths curl as photos travel outward. 0 flies them straight; negative values curl the other way.
blankAreanumber0.2Size of the empty center the photos emerge from, as a fraction of the half-diagonal. Room for a headline.
sizenumber0.17Photo height, as a fraction of the shorter side, when a photo is halfway out. Photos grow as they travel.
sizeVariancenumber0.25How much photo sizes vary, for a sense of depth.
aspectnumber0.8Width divided by height of the photos in the stream. Images are cropped to fill.
radiusnumber12Corner radius in pixels at the reference size. Smaller photos scale it down.
bordernumber0Print border, as a fraction of the photo size. With a border, each photo develops on blank paper of the border color, like a darkroom print.
borderColorstring"#FFFFFF"Color of the print border and paper.
rimnumber0.12Strength of the hairline edge highlight around each photo.
rollnumber0Maximum random tilt of each photo in degrees, like scattered prints.
developnumber0.85How photos appear as they emerge. 0 fades them in; 1 develops them tone by tone, monochrome first, then in color.
edgeFadenumber0.35How softly photos dissolve into the background at the edges of the frame.
shadownumber0.5Strength of the soft shadow under each photo.
hoverSlownumber0.6How much the stream slows while the pointer is over it, so photos are easy to catch.
catchOnHoverbooleantrueHovering a photo catches it: it stops in place and lifts while the rest of the stream flows past.
draggablebooleantrueDrag to steer the stream. Pulling away from the center flies forward and pushing toward it flies back, while dragging around the center turns it. Both keep momentum.
wheelbooleantrueScroll to fly through the stream. Set false to leave page scrolling untouched.
captionsbooleantrueShow the title and subtitle under an opened photo.
backgroundColorstring"transparent"Background of the component. Photos develop out of it, and captions adapt to it.
pausedbooleanfalseStops the stream. Space toggles it too, and reduced-motion users get a still field that only moves on input.
dprnumber2Maximum device pixel ratio for the canvas.
ariaLabelstring"Contact sheet…"Accessible description of the gallery and how to use it.
onOpen(item, index) => void—Called when a photo is opened by a click, Enter or the ref.
onClose() => void—Called when the opened photo returns to the stream.
ref{ boost, open, close }—boost(amount) flies forward or back, open(index?) opens a photo, close() returns it.
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 }[]

Photos streamed from the center, cycling through the collection in order. Images must allow cross-origin loading. Title and subtitle caption an opened photo.

Defaultstudio portrait collection
countnumber

How many photos are in flight at once, up to 96.

Default18
speednumber

How fast the photos travel outward. Negative values reverse the stream so photos sink into the center.

Default0.1
rushnumber

How the photos accelerate as they near the edges. 0 is an even, calm zoom; 1 is true perspective, where photos rush past at the end.

Default0.35
spiralnumber

How much the paths curl as photos travel outward. 0 flies them straight; negative values curl the other way.

Default0
blankAreanumber

Size of the empty center the photos emerge from, as a fraction of the half-diagonal. Room for a headline.

Default0.2
sizenumber

Photo height, as a fraction of the shorter side, when a photo is halfway out. Photos grow as they travel.

Default0.17
sizeVariancenumber

How much photo sizes vary, for a sense of depth.

Default0.25
aspectnumber

Width divided by height of the photos in the stream. Images are cropped to fill.

Default0.8
radiusnumber

Corner radius in pixels at the reference size. Smaller photos scale it down.

Default12
bordernumber

Print border, as a fraction of the photo size. With a border, each photo develops on blank paper of the border color, like a darkroom print.

Default0
borderColorstring

Color of the print border and paper.

Default"#FFFFFF"
rimnumber

Strength of the hairline edge highlight around each photo.

Default0.12
rollnumber

Maximum random tilt of each photo in degrees, like scattered prints.

Default0
developnumber

How photos appear as they emerge. 0 fades them in; 1 develops them tone by tone, monochrome first, then in color.

Default0.85
edgeFadenumber

How softly photos dissolve into the background at the edges of the frame.

Default0.35
shadownumber

Strength of the soft shadow under each photo.

Default0.5
hoverSlownumber

How much the stream slows while the pointer is over it, so photos are easy to catch.

Default0.6
catchOnHoverboolean

Hovering a photo catches it: it stops in place and lifts while the rest of the stream flows past.

Defaulttrue
draggableboolean

Drag to steer the stream. Pulling away from the center flies forward and pushing toward it flies back, while dragging around the center turns it. Both keep momentum.

Defaulttrue
wheelboolean

Scroll to fly through the stream. Set false to leave page scrolling untouched.

Defaulttrue
captionsboolean

Show the title and subtitle under an opened photo.

Defaulttrue
backgroundColorstring

Background of the component. Photos develop out of it, and captions adapt to it.

Default"transparent"
pausedboolean

Stops the stream. Space toggles it too, and reduced-motion users get a still field that only moves on input.

Defaultfalse
dprnumber

Maximum device pixel ratio for the canvas.

Default2
ariaLabelstring

Accessible description of the gallery and how to use it.

Default"Contact sheet…"
onOpen(item, index) => void

Called when a photo is opened by a click, Enter or the ref.

Default—
onClose() => void

Called when the opened photo returns to the stream.

Default—
ref{ boost, open, close }

boost(amount) flies forward or back, open(index?) opens a photo, close() returns it.

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—