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. Inline Icon Text Scroll

Inline Icon Text Scroll

PreviousNext

A pinned hero where a row of icons gathers, shrinks and flies into inline placeholders inside a paragraph while its text segments reveal in random order.

Open in
inline-icon-text-scroll-demo

Orrery

Five instruments. One quiet studio.

Sketch the idea before it fades. Set the type and lock the grid, then ship it from one studio.

Open beta, Monday

components/ui/inline-icon-text-scroll-demo.tsx
import { InlineIconTextScroll } from "@/registry/tween/inline-icon-text-scroll"

export function InlineIconTextScrollDemo() {
  return <InlineIconTextScroll />
}

Installation

pnpm dlx shadcn@latest add https://tweenui.dev/r/inline-icon-text-scroll.json

Usage

import { InlineIconTextScroll } from "@/components/ui/inline-icon-text-scroll"
<InlineIconTextScroll
  title="Orrery"
  icons={["/icons/orbit.svg", "/icons/sketch.svg", "/icons/ship.svg"]}
  parts={[null, "Sketch it,", null, "shape it,", null, "ship it."]}
/>

How it works

The hero pins for pinDistanceFactor viewport heights and one scrubbed ScrollTrigger drives four phases:

  • 0 – 30%: the header lifts and fades while the icon row rises with a per-icon stagger.
  • 30 – 60%: the row slides to the center and scales down to the placeholder size; the background flips from dark to light halfway through.
  • 60 – 75%: copies of each icon travel vertically, then horizontally, into the inline placeholders in the paragraph.
  • 75 – 100%: the text segments fade in one by one in a random order.

The trigger resolves its scroller with usePreviewScroller, and positions are measured relative to the pinned section, so nothing depends on window scroll. With prefers-reduced-motion: reduce the final state is shown.

Props

PropTypeDefaultDescription
titleReactNode"Orrery"Header title.
subtitleReactNodedefault copyHeader subtitle.
iconsstring[]5 SVG iconsIcon images. Icon i flies into placeholder i.
parts(string | null)[]default paragraphParagraph parts; null marks an inline icon placeholder.
outroReactNode"Open beta, Monday"Text of the section after the pin.
pinDistanceFactornumber8Pin length in viewport heights.
darkstring"#16130f"Initial background and paragraph text color.
lightstring"#ece5d8"Final background and header text color.
scrollerHTMLElement | string | null—Optional ScrollTrigger scroller; defaults to the preview one.
classNamestring—Extra classes on the outer container.
Lottie Flight ScrollStarfield Scroll

On This Page

InstallationUsageHow it worksProps

Contribute

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