tween
ComponentsTemplatesShowcaseContact

Command Palette

Search for a command to run...

Getting Started
  • Introduction
  • Installation
  • StoryNew
Guides
  • Motion Principles
  • Scroll and Smooth Scroll
  • Performance and Accessibility
Scroll Animations
  • Sticky Cards Scroll
  • Rise Fan Cards Scroll
  • Rotate Stack Scroll
  • Doodle Lens ScrollNew
  • Slit Open Hero ScrollNew
  • Logo Mask Zoom ScrollNew
  • ASCII Dissolve ScrollNew
  • Lottie Flight ScrollNew
  • Inline Icon Text ScrollNew
  • Starfield ScrollNew
  • Name Swap ScrollNew
  • Spotlight Gallery HeroNew
  • Slit Rotate Hero ScrollNew
  • Stroke Cover ScrollNew
  • Stroke Rows ScrollNew
Text Animations
  • Text Skew Reveal
  • Block Text Reveal
Hover & Cursor
  • Image Trail Cursor
  • Cursor Depth Logo
  • Physics Tag Drop
  • Elastic Card ListNew
  • Magnetic Cards SpringNew
Sliders & Carousels
  • Wheel Fullscreen Carousel
  • Ripple Displacement Slider
  • Three.js Blend Slider
  • Stacked Deck Slider
  • Orbit Cylinder SliderNew
  • Fan Stack SliderNew
  • Exponential Strip SliderNew
  • Dual Column SliderNew
Galleries & Grids
  • Scroll Wave Gallery
Menus & Navigation
  • Shrink Page MenuNew
Preloaders & Intros
  • Floating Items RevealNew
  • Word Cycle RevealNew
  • Tile Grid LoaderNew
Page Transitions
  • Panel Assembly TransitionNew
3D & WebGL
  • Fractal Glass Hero
  • Fluid Cursor Canvas
  • Fluid Portrait Hero
  • Fluid Gradient Canvas
  • Inversion Lens HoverNew
UI Elements
  • Circular Widgets
  • Vinyl Cover
  • Image Explosion Footer
  • Accordion Image FramesNew

(Tween) — Motion registry

Animated components & full sites, one command away.

Product

  • Components
  • Templates
  • Installation
  • Guides
  • Blog
  • Contact

Categories

  • Scroll Animations
  • Text Animations
  • Hover & Cursor
  • Sliders & Carousels
  • Galleries & Grids
  • Menus & Navigation
  • Preloaders & Intros
  • Page Transitions
  • 3D & WebGL
  • UI Elements
TWEEN
ease: power2.inOut0.00s
© 2026 TweenBack to topBuilt by mohammad
  1. Docs/
  2. Components/
  3. Slit Rotate Hero Scroll

Slit Rotate Hero Scroll

PreviousNext

A pinned hero whose clip narrows to a slit, rotates 65° and scales to nothing to reveal copy behind it, then two outro images clip in under a line-masked headline.

Open in
slit-rotate-hero-scroll-demo

Bodies drawn in cobalt and dark

Weight

Three dancers thrown through a single wash of blue. Every fall caught in the half second before the floor gives back the light it borrowed.

Breath

A stage held still by one cold beam and a room of held breath. The body slows until only its outline remains, burning through the haze.

Stay until the last beam fades and the room is still moving.

A dance company made for the stage, the haze, and the blue that stays behind.

components/ui/slit-rotate-hero-scroll-demo.tsx
import { SlitRotateHeroScroll } from "@/registry/tween/slit-rotate-hero-scroll"

export function SlitRotateHeroScrollDemo() {
  return <SlitRotateHeroScroll />
}

Installation

pnpm dlx shadcn@latest add https://tweenui.dev/r/slit-rotate-hero-scroll.json

Usage

import { SlitRotateHeroScroll } from "@/components/ui/slit-rotate-hero-scroll"
<SlitRotateHeroScroll
  heroImg="https://images.unsplash.com/photo-1697637270631-c2a0d6b0dd7a?q=80&w=1920&h=1080&fit=crop&crop=center&auto=format"
  title="Bodies drawn in cobalt"
  outroImages={[
    "https://images.unsplash.com/photo-1607431887725-379d8ea70f77?q=80&w=1080&h=1350&fit=crop&crop=center&auto=format",
    "https://images.unsplash.com/photo-1574132329122-7c72a511c576?q=80&w=1080&h=1350&fit=crop&crop=center&auto=format",
  ]}
  outroTitle="Stay until the last beam fades."
/>

How it works

The hero pins for pinDistanceFactor viewport heights and one scrubbed ScrollTrigger drives a four-phase timeline:

  1. 0 – 25%: the foreground clip-path narrows from full width to a 4% vertical slit while a dark overlay fades in.
  2. 25 – 45%: the slit rotates to 65°.
  3. 45 – 65%: it scales down to zero, flashing to the accent color, while the two copy blocks behind it slide towards the center.
  4. 65 – 85%: two outro images clip in, one from the top and one from the bottom.

Past 90% the outro headline, split into masked lines with SplitText, slides up line by line; scrolling back hides it again. The trigger uses usePreviewScroller. With prefers-reduced-motion: reduce the final state is shown.

Props

PropTypeDefaultDescription
heroImgstringremote imageForeground hero image.
titleReactNodedefault copyHero headline.
copy[{ title, body }, { title, body }]2 blocksCopy blocks revealed behind the hero.
outroImages[string, string]2 imagesImages that clip in from the top and the bottom.
outroTitlestringdefault copyHeadline revealed line by line at the end.
aboutReactNodedefault copyText of the section after the pin.
pinDistanceFactornumber5Pin length in viewport heights.
lightstring"#dcdde5"Light background and text color.
accentstring"#3a4bff"Accent heading and flash color.
darkstring"#05071c"Dark background and body text color.
scrollerHTMLElement | string | null—Optional ScrollTrigger scroller; defaults to the preview one.
classNamestring—Extra classes on the outer container.
Spotlight Gallery HeroStroke Cover Scroll

On This Page

InstallationUsageHow it worksProps

Contribute

  • Report an issue
  • Request a feature
  • Edit this page