nextui.dev
Home
Docs
Saved
Pricing
Components37
  • Forms & inputs7
  • Cards13
  • Buttons, badges & avatars8
  • Feedback & display6
  • Effects3
Agents17
  • Chat inputNew
  • Task checklistNew
  • ReasoningNew
  • Tool callNew
  • Tool approvalNew
  • SourcesNew
  • Agent timelineNew
  • Artifact panelNew
  • Streaming messageNew
  • Conversation shellNew
  • Voice agentNew
  • Voice orbNew
  • Thinking ring
  • Thinking waveNew
  • Thinking sparkle
  • Thinking bot
  • Prompt deckNew
Blocks20
  • Agent chatNew
  • Pill heroNew
  • Grid hero
  • Moodboard generatorNew
  • Waitlist heroNew
  • Intro bannerNew
  • Creative home heroNew
  • Chat heroNew
  • App shelfNew
  • Usage card
  • Design resultsNew
  • Pricing tiers
  • Dashboard home
  • The shiftNew
  • Launch perksNew
  • Testimonials
  • Quote
  • Team
  • Leads tableNew
  • Sign in
Pages10
  • ASCII workspace$49
  • CRM overviewNew
  • Marketing dashboardNew
  • Developer portfolio$49
  • Particle landing$49
  • Particle story$49
  • Statement converter$49
  • AI photo studio$49
  • Group card launch$49
  • Month-end storyNew
Themes9
  • Default
  • Ember
  • Ocean
  • Forest
  • Grape
  • Rose
  • Amber
  • Clay
  • Brutal
Upgrade
nextui.dev

nextui components, blocks and themes you install with one command.

Product

  • Components
  • Blocks
  • Themes
  • Pricing

Resources

  • Docs
  • Roadmap
  • GitHub

Legal

  • License
  • Privacy
  • Terms
  • Refunds

nextUI

[ 200 OK ] · nextUI

© 2026 NEXTUI • All rights reserved.

Upgrade
BlocksThe shift
Copy promptCopy prompt

The shiftNew

Chapter 03 of the Month-end story as its own scene: a giant caption lights up word by word while a bar of busywork flips, block by block, into judgment and the percentages tick across. Plays itself when it scrolls into view, or follows a progress value you pass, such as scroll.

Installation

Set your access key from API keys as NEXTUI_TOKEN in .env.local and add the @nextui namespace below to components.json once. Then every item installs by name. Each install counts as a copy on a free account.

$pnpm dlx shadcn@latest add @nextui/the-shift
1{
2 "registries": {
3 "@nextui": {
4 "url": "https://nextui.dev/r/{name}.json",
5 "headers": { "Authorization": "Bearer ${NEXTUI_TOKEN}" }
6 }
7 }
8}

Usage

1"use client";
2
3import { useRef } from "react";
4import { useScroll } from "motion/react";
5import { TheShift } from "@/components/blocks/the-shift";
6
7// Plays on its own when it scrolls into view:
8export function Story() {
9 return <TheShift badge="With Acme" />;
10}
11
12// Or pin it and let scroll drive it:
13export function ScrollStory() {
14 const ref = useRef<HTMLDivElement>(null);
15 const { scrollYProgress } = useScroll({ target: ref, offset: ["start 0.4", "end end"] });
16 return (
17 <div ref={ref} className="h-[320vh]">
18 <TheShift className="sticky top-0 h-svh" progress={scrollYProgress} />
19 </div>
20 );
21}

API reference

PropTypeDefaultDescription
chapterstring"03"Chapter number, also drawn as the giant outline behind the scene
titlestring"The shift"Chapter name next to the number
linesShiftLine[]two linesCaption lines; *starred* words get the highlight, `at` is the [start, end] of progress each line lights up over
labelstring"Where close time goes"Small label at the top of the card
badgestring"With Closely"Pill that pops in once the hand-off happens
leftstring"Busywork"Name of the share that shrinks
rightstring"Judgment"Name of the share that grows
fromnumber2Bars out of 10 that are judgment before the shift
tonumber8Bars out of 10 that are judgment after the shift
accentstring"#ff5a1f"Highlight color for the captions, bars and badge
progressMotionValue<number>–Drive the scene yourself from 0 to 1, for example with scroll. Left out, it plays and loops while on screen
durationnumber7Seconds one play takes when the scene drives itself
classNamestring–Extra classes on the section

Related

All blocks

Usage card

Design resultsNew

Sign in to see the code

Preview it freely. A free account copies code and prompts a few times a day.

Sign in