This component no longer exists. It was in remotionui’s manifest when we first indexed it and is not there now — the registry served its inventory on 2026-08-11 and this item was not on it. The install command below will fail. It is kept here because a tutorial somewhere still tells people to run it.
staggered-fade-up
remotionui/staggered-fade-upRemovedComponent
Words rise with cascading fade-up stagger
Live preview
live · rendered by the registry
Rendered by remotionui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://remotionui.com/r/staggered-fade-up.jsonSource
1import { interpolate, useCurrentFrame, useVideoConfig } from "remotion";2import { scaleFont } from "@/remotion/lib/layout";3import { EASING_ENTER, staggerDelay } from "@/remotion/lib/timing";45export type StaggeredFadeUpProps = {6 text: string;7 staggerInFrames?: number;8 durationInFrames?: number;9 delayInFrames?: number;10 fontSize?: number;11 color?: string;12 fontWeight?: number;13 fontFamily?: string;14};1516export const StaggeredFadeUp: React.FC<StaggeredFadeUpProps> = ({17 text,18 staggerInFrames = 4,19 durationInFrames = 16,20 delayInFrames = 0,21 fontSize: fontSizeProp,22 color = "#f4f4f5",23 fontWeight = 600,24 fontFamily,25}) => {26 const frame = useCurrentFrame();27 const { width } = useVideoConfig();28 const fontSize = fontSizeProp ?? scaleFont(72, width);29 const words = text.split(/\s+/).filter(Boolean);3031 return (32 <span33 style={{34 display: "inline-flex",35 flexWrap: "wrap",36 gap: "0.28em",37 fontSize,38 fontWeight,39 color,40 lineHeight: 1.2,41 ...(fontFamily ? { fontFamily } : {}),42 }}43 >44 {words.map((word, index) => {45 const start = staggerDelay(index, staggerInFrames, delayInFrames);46 const progress = interpolate(47 frame,48 [start, start + durationInFrames],49 [0, 1],50 {51 easing: EASING_ENTER,52 extrapolateLeft: "clamp",53 extrapolateRight: "clamp",54 },55 );56 const y = interpolate(progress, [0, 1], [18, 0]);5758 return (59 <span60 key={`${word}-${index}`}61 style={{62 display: "inline-block",63 opacity: progress,64 translate: `0px ${y}px`,65 }}66 >67 {word}68 </span>69 );70 })}71 </span>72 );73};
