DocsInfinite Image Field

Infinite Image Field

An endless, cursor-driven photo canvas. Images tile infinitely in all directions — move your cursor to pan the field, and it glides fluidly toward where you point.

Installation

pnpm dlx shadcn@latest add @componentry/infinite-image-field

Dependencies: clsx tailwind-merge

Usage

import { InfiniteImageField } from "@/components/ui/infinite-image-field"

<InfiniteImageField className="w-full h-screen" />

API Reference

PropTypeDefault
imagesstring[]

Array of image URLs tiled across the infinite canvas. Images repeat in a deterministic pattern so the same grid cell always shows the same photo.

12 built-in sci-fi Unsplash images
imageWidthnumber

Width of each image tile in CSS pixels.

300
imageHeightnumber

Height of each image tile in CSS pixels.

200
gapnumber

Spacing between adjacent tiles in CSS pixels.

28
maxSpeednumber

Maximum pan speed when the cursor is at the edge of the canvas (pixels per frame).

5
smoothingnumber

Lerp factor controlling how quickly velocity catches up to the cursor direction. Lower values feel heavier and dreamy; higher values feel snappy.

0.07
borderRadiusnumber

Corner radius applied to each image tile.

0
classNamestring

Additional classes applied to the root container.

—

Keep in mind

This component is inspired by various open-source projects and patterns. Please verify licenses and implementation details before using in production.

Need a custom component?

I build bespoke UI components & websites tailored to your brand.

DM me on X
PreviousImage TrailNextMagnet Lines