blaze-motion
← All components

Inset Frame Reveal

Clip

Window settle — a uniform clip-path frame insets in from the edges, then opens.

window settle
trigger="inView"
opens on mount
trigger="mount" delay=0.15

Installation

One command drops the source into your repo — editable, with the provider and motion pulled in automatically.

npx shadcn add https://motion.asmitsah.dev/r/inset-frame-reveal.json

Usage

Basic

A uniform clip-path frame insets 15% from every edge, then opens the first time it's 30% in view.

import { InsetFrameReveal } from "@/components/motion/inset-frame-reveal";

<InsetFrameReveal className="overflow-hidden rounded-md border">
  <img src="/still.jpg" alt="" />
</InsetFrameReveal>

Trigger on mount

Play immediately instead of waiting for scroll — for above-the-fold hero art.

<InsetFrameReveal trigger="mount">
  <Hero />
</InsetFrameReveal>

With delay

Offset the open by a beat to sequence it after a title or sibling reveal.

<InsetFrameReveal trigger="mount" delay={0.15}>
  <Card />
</InsetFrameReveal>

Props

PropTypeDefaultDescription
childrenReactNodeContent the frame opens to reveal.
classNamestringPassed straight through — InsetFrameReveal becomes your layout element.
styleCSSPropertiesInline style passthrough.
delaynumber0Seconds before this instance animates.
trigger"inView" | "mount""inView"Animate on scroll-into-view (once) or immediately on mount.