crucıble

Neon

A self-contained cyberpunk theme preset: electric accents on near-black, thin CRT scanlines, condensed monospace type, and hard-edged HUD chrome with corner brackets. A seeded, subtle glitch tears the heading into a chromatic split, and a built-in radio switcher swaps the accent between yellow, cyan, and magenta. Reduced motion drops the glitch for a clean static HUD.

motionpro

Installation

CLI

npx shadcn@latest add @crucible/neon

Manual — install dependencies, then copy the source

npm install motion

Props

PropTypeDefaultDescription
accentNeonAccentNameControlled accent name. Leave undefined for uncontrolled.
defaultAccentNeonAccentName"yellow"Initial accent when uncontrolled.
onAccentChange(accent: NeonAccentName) => voidFires with the next accent whenever the switcher changes.
eyebrowstring"// SECTOR 07"Small eyebrow label above the heading.
titlestring"NEON DISTRICT"Heading text — this line receives the seeded glitch shear.
childrenReact.ReactNodePanel body. Falls back to a sample readout when omitted.
speednumber1Glitch cadence multiplier — higher fires the shear more often.
intensitynumber1Glitch shear magnitude (chromatic offset in px scales with this).
pausedbooleanfalseFreeze the glitch and scan sweep at a clean static frame.
scanlinesbooleantrueRender the thin CRT scanline texture.
showSwitcherbooleantrueShow the built-in accent radio switcher.
accentColorsPartial<Record<NeonAccentName, string>>Override the primary hue of any preset (any palette reachable).
seednumber1Seed for the deterministic glitch schedule.
Also accepts all props of Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "title">they pass through to the underlying element.

Honors prefers-reduced-motion with a designed static fallback, and passes className through.