A pure black hero with a huge canvas sphere of thousands of tiny dots that spins on a tilted axis, leans toward the pointer and carries a bright belt drifting the other way. Sparse mono details frame a bottom-aligned headline and an install command.
Motion-ready React components you install with one command and own as plain source. No runtime, no lock-in.
v3.2 · 240+ components · MIT licensed
npx hyperblur add hero-dot-globenpx shadcn@latest add https://hyperblur.dev/r/hero-dot-globe.jsonWorks in any React project set up with the shadcn CLI. The file lands in components/hyperblur/hero-dot-globe.tsx.
import { HeroDotGlobe } from "@/components/hyperblur/hero-dot-globe"
<HeroDotGlobe title="Ship motion without the math." command="npx hyperblur add hero-dot-globe" accent="#7fb3ff" />| Prop | Type | Default | Description |
|---|---|---|---|
| title | string | "Build interfaces that move people." | Headline at the bottom left. |
| subtitle | string | "Motion-ready React components you install with one command and own as plain source. No runtime, no lock-in." | Gray paragraph under the headline. Empty hides it. |
| caption | string | "v3.2 · 240+ components · MIT licensed" | Small mono line above the install row. Empty hides it. |
| command | string | "npx hyperblur add hero-dot-globe" | Shell command in the box with a copy button. Empty hides the box. |
| primaryCta | { label: string; href: string } | null | { label: "Get started", href: "#" } | Solid accent button with a chevron next to the command. Pass null to hide it. |
| brand | string | "Orbitkit" | Wordmark next to the logo mark in the top bar. |
| nav | { label: string; href: string }[] | [{ label: "Docs", href: "#" }, { label: "Examples", href: "#" }, { label: "Kit", href: "#" }] | Centered mono links in the top bar. Hidden below 640px of container width. |
| navCta | { label: string; href: string } | null | { label: "Sign in", href: "#" } | Outlined mono button at the right of the top bar. Pass null to hide it. |
| learnMore | { label: string; href: string } | null | { label: "Learn more", href: "#" } | Small cue with a bobbing chevron at the bottom center. Pass null to hide it. |
| accent | string | "#ffb84d" | Rim color of the sphere, the belt glow, the caption details and the primary button. The button text switches between dark and white for contrast when a hex color is given. |
| density | number | 1 | Multiplier for the number of points (about 7,900 at 1). Kept between 0.2 and 2. |
| speed | number | 1 | Multiplier for the rotation and belt drift. 0 keeps the sphere still but still tilting toward the pointer. |
| headingAs | "h1" | "h2" | "h1" | Heading level of the title. Use h2 when the page already has an h1. |
| onSearch | () => void | undefined | Called when the search icon button in the top bar is pressed. |
| className | string | "" | Extra classes on the section. |
| style | React.CSSProperties | undefined | Inline styles on the section. |