Skip to content
✨ Publier v1 is live — a polished docs platform built for the open web.
On this page

BlurImage

Image component with blur-in loading animation.

The BlurImage component displays an image that transitions from a blurred, grayscale placeholder to the sharp, full-color image once loaded.

Usage

---
import { BlurImage } from '@publier/shell/components';
---
<BlurImage src="/images/hero.png" alt="Hero screenshot" width={800} height={450} />

Props

PropTypeDefaultDescription
srcstringrequiredImage URL
altstringrequiredAlt text for accessibility
widthnumber—Intrinsic width (prevents layout shift)
heightnumber—Intrinsic height
classstring—Additional CSS classes

Behavior

  • Uses native lazy loading (loading="lazy")
  • Starts blurred and grayscale via CSS filter
  • Transitions to sharp and full-color on load
  • Respects prefers-reduced-motion — skips animation if enabled