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 Open Hero Scroll

Slit Open Hero Scroll

PreviousNext

A pinned hero that opens from a thin centre slit, cascades images open with clip-path, then splits its outro panel in two to reveal the next section.

Open in
slit-open-hero-scroll-demo

Lime, stone and slow light, shaped into lasting homes

Rooms carved from soft plaster, made for long summers and longer evenings

Rooms carved from soft plaster, made for long summers and longer evenings

We build quiet houses for the edge of the sea

Every arch, niche and threshold is plastered by hand, then left to settle with the seasons

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

export function SlitOpenHeroScrollDemo() {
  return <SlitOpenHeroScroll />
}

Installation

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

Usage

import { SlitOpenHeroScroll } from "@/components/ui/slit-open-hero-scroll"
<SlitOpenHeroScroll
  backgroundImage="https://images.unsplash.com/photo-1711967151478-65f508092c8a?q=80&w=1920&h=1080&fit=crop&crop=center&auto=format&exp=-8"
  images={[
    "https://images.unsplash.com/photo-1680526860217-016595158c55?q=80&w=1920&h=1080&fit=crop&crop=center&auto=format",
    "https://images.unsplash.com/photo-1687579520868-b22b33ca8fa5?q=80&w=1920&h=1080&fit=crop&crop=center&auto=format",
  ]}
  title="Lime, stone and slow light"
  outroTitle="Rooms carved from soft plaster"
  accent="#a14d2c"
/>

How it works

The hero pins for pinDistanceFactor viewport heights without pin spacing, so the next section (pushed down by five viewport heights) slides up underneath it. One scrubbed GSAP timeline runs on a 0 to 1 scale:

  • 0 → 0.5: the background scales from 1.5 to 1.
  • 0 → 0.2: a 1% wide accent slit grows from the centre point to full height.
  • 0.2 → 0.5: the slit widens to cover the whole hero.
  • 0.4 →: each image scales up from 0 while its clip-path opens from the centre, staggered by 0.04.
  • After the last image, the outro panel scales in. It is rendered twice, each copy clipped to one half.
  • 0.7: the hero layers are hidden and the two halves slide apart (xPercent -150 and 50), uncovering the section below.

The timeline is built inside a gsap.context and rebuilt when the scroller resizes. With prefers-reduced-motion: reduce the outro panel is shown statically and the next section follows directly.

Props

PropTypeDefaultDescription
backgroundImagestringremote imageImage behind the opening headline.
imagesstring[]3 remote imagesImages that cascade open, in order.
titleReactNodedefault copyOpening headline.
outroTitleReactNodedefault copyHeadline on the outro panel that splits apart.
aboutTitleReactNodedefault copyTitle of the section revealed below.
aboutBodyReactNodedefault copyBody text of the section revealed below.
pinDistanceFactornumber7How many viewport heights the hero pins for.
lightstring"#f3ede2"Hero text color and next section background.
accentstring"#a14d2c"Slit and outro panel color.
darkstring"#1d1510"Text color of the next section.
fontFamilystringDM Sans stackFont for all text.
scrollerHTMLElement | string | null—Optional ScrollTrigger scroller.
Doodle Lens ScrollLogo Mask Zoom Scroll

On This Page

InstallationUsageHow it worksProps

Contribute

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