ImageGallery

Organism

Responsive image grid with a full-screen lightbox, right-click context menu (open, copy URL, move to first/last, remove), and drag-to-reorder. Supports 2–4 columns, square / video / portrait / auto aspect ratios, optional captions, zoom toggle, thumbnail strip, and full keyboard navigation (← → Escape).

Reorderable — drag + right-click menu

Preview

Drag images to reorder • Right-click for context menu

Mountain landscape
Ocean sunset
Forest path
City skyline
Desert dunes
Snowy peaks
Tropical beach
Autumn colors
Code
<ImageGallery
  images={images}
  columns={3}
  aspect="square"
  gap="md"
  reorderable
  onReorder={(next) => setImages(next)}
  onRemove={(idx, img) => console.log('removed', img.alt)}
/>

3-column grid — lightbox only

Preview
Mountain landscape
Ocean sunset
Forest path
City skyline
Desert dunes
Snowy peaks
Tropical beach
Autumn colors
Code
<ImageGallery
  images={images}
  columns={3}
  aspect="square"
  gap="md"
  lightbox
/>

2-column with captions

Preview
Mountain landscape

Sunrise over the Alps

Ocean sunset

Golden hour at the coast

Forest path

Morning mist in the forest

City skyline

Downtown at dusk

Code
<ImageGallery
  images={images}
  columns={2}
  aspect="video"
  gap="lg"
  showCaptions
  lightbox
/>

4-column compact

Preview
Mountain landscape
Ocean sunset
Forest path
City skyline
Desert dunes
Snowy peaks
Tropical beach
Autumn colors
Code
<ImageGallery
  images={images}
  columns={4}
  aspect="square"
  gap="sm"
  lightbox
/>
Sourcemodules/app/ImageGallery/index.tsx