Ballmac UI home

Progressive Blur

A blur that ramps up toward an edge instead of switching on at a line, made of stacked backdrop-filter layers, for scrolling lists, headers, footers and image captions.

  • Quarterly report
  • Design review notes
  • Onboarding checklist
  • Pricing experiment
  • Launch plan
  • Customer interviews
  • Roadmap draft
  • Retro summary
  • Hiring pipeline
  • Security audit

Installation

$ pnpm dlx shadcn@latest add @ballmac/progressive-blur

Usage

import { ProgressiveBlur } from "@/components/ballmac/progressive-blur"

The full example is in the Code tab above.

Examples

Four edges

API reference

PropTypeDefault
position

Edge the blur is attached to. It is strongest right at the edge.

"top" | "bottom" | "left" | "right""bottom"
size

Depth of the blurred band: a CSS length such as "6rem" or "30%".

string"5rem"
strength

Strongest blur in pixels, reached at the edge.

number14
layers

Number of stacked layers. More layers make a smoother ramp and cost a little more to paint.

number8

Also accepts the standard attributes of its root element.

Accessibility

KeyAction
Screen readersDecorative: aria-hidden and pointer-events-none
InteractionNever blocks clicks or scrolling

Use with AI

<ProgressiveBlur position='top|bottom|left|right' size strength layers /> inside a relative parent that scrolls or holds an image. Pointer events pass through it. A server component with no JavaScript. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Progressive Blur (@ballmac/progressive-blur) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • Scrolling lists that fade out at the edges
  • Text over images, instead of a dark gradient

Not for

  • Browsers or surfaces without backdrop-filter support (it degrades to no blur)

Registry JSON: https://ui.ballmac.com/r/progressive-blur.json

Credits

Free to use in personal and commercial projects.

npm
None
Registry
shadcn/utils