Infinite Gallery
A drag-and-throw tile wall that wraps forever and drifts while idle.
motiondragcanvas-free
Customize
Tiles
Tile width168px
Tile height112px
Gap12px
Corner radius14px
Lift on hover
Pattern
Pattern columns4
Pattern rows3
Motion
Drift speed24px/s
Drift angle135°
Throw friction0.92
Higher glides further after release.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
items | ReactNode[] | gradient set | Tile faces, cycled across the wall (rendered decoratively). |
tileWidth | number | 168 | Tile width in pixels. |
tileHeight | number | 112 | Tile height in pixels. |
gap | number | 12 | Gap between tiles in pixels. |
cols | number | 4 | Base pattern columns, tiled infinitely. |
rows | number | 3 | Base pattern rows, tiled infinitely. |
speed | number | 24 | Idle drift speed in px/s (0 disables). |
angle | number | 135 | Idle drift direction in degrees. |
friction | number | 0.92 | Inertia decay per frame after a throw (0–0.99). |
radius | number | 14 | Tile corner radius in pixels. |
hoverLift | boolean | true | Scale tiles up slightly on hover. |
label | string | "Infinite gallery" | Accessible name for the pannable region. |