Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/neon-retro-web/llms.txt
Use this file to discover all available pages before exploring further.
RetroElements.js is the Y2K widget toolkit for the Neon Retro Web portfolio. It ships four self-contained components that capture the visual language of the early internet: scrolling text tickers, blinking sticker badges, an under-construction warning panel, and a glowing hit-counter odometer. Each component is zero-dependency beyond React and the project’s shared Tailwind design tokens — drop any of them into a Window or directly onto a page.
In the compiled bundle, the four components are exported under the minified names
M, B, U, and H. When building on top of this project always reference the source file (components/RetroElements.js) rather than the bundle to get the descriptive named exports shown below.Import
Marquee
A full-width horizontal scrolling text ticker — the web equivalent of a news chyron. The text is repeated three times inside a single inline element so the loop appears seamless as theanimate-marquee CSS animation cycles.
Props
The string to display inside the ticker. It is rendered three times in sequence to fill the track and create a smooth looping effect.
A valid CSS
animation-duration value (e.g. "10s", "30s"). Shorter values scroll faster. The default "20s" is comfortable for a full sentence of text on a typical viewport.Usage
Visual Output
The Marquee renders as a full-width strip with a solidbg-y2k-magenta (hot-pink) background and border-y-2 border-y2k-teal top and bottom borders. The font-display text is white and rendered at text-xl. The entire strip clips its overflow so only the moving text is visible — no scrollbar appears.
BadgeNew
A rotated, blinking sticker badge inspired by the iconic “NEW!” and “UPDATED!” GIFs of early-2000s websites. The badge pulses via a.animate-blink CSS animation and tilts -6 deg for a hand-stuck sticker effect.
Props
The label text displayed inside the badge. Any short uppercase string works well — for example
"HOT!", "BETA", or "v2".The color variant controlling background, text, and border colors:
| Variant | Background | Text | Border |
|---|---|---|---|
lime | bg-y2k-lime | text-black | border-y2k-teal |
magenta | bg-y2k-magenta | text-white | border-y2k-turquoise |
teal | bg-y2k-teal | text-black | border-y2k-magenta |
Usage
Visual Output
BadgeNew renders as an inline-flex <span> with a 2-pixel solid border, px-2 py-0.5 padding, and a hard box-shadow: 2px 2px 0px rgba(0,0,0,1) offset shadow for a retro offset-print look. The -rotate-6 transform tilts the badge counter-clockwise. The animate-blink animation causes it to flash on and off, drawing the eye. Text uses font-display font-bold uppercase tracking-widest for maximum period-correct impact.
UnderConstruction
A self-contained warning panel modelled after the “Under Construction” banners that adorned countless GeoCities pages. It features a pulsing triangle-alert icon, two spinning gear icons flanking a bold headline, and a dry subtitle. The component accepts no props — it is purely decorative.Props
This component has no configurable props.Usage
Visual Output
The panel renders as a column-flex<div> with border-2 border-dashed border-y2k-orange and a 10%-opacity orange background fill (bg-y2k-orange/10). The layout contains:
- A
triangle-alertLucide icon (w-8 h-8) intext-y2k-orangewithanimate-pulse. - A row containing two
settings(gear) Lucide icons intext-y2k-teal animate-spin-slowsandwiching the boldfont-displayheadline “UNDER CONSTRUCTION” intext-y2k-orange text-lg. - A
text-xs font-code text-y2k-orange/80caption: “Pardon our dust. We’re compiling reality.”
HitCounter
A digit-by-digit odometer display replicating the visitor counters that appeared in virtually every personal homepage of the Y2K era. Each character of thecount string receives its own framed cell styled like a glowing LCD segment.
Props
The counter value as a string. Each character is split into its own display cell, so zero-padding (
"00042" rather than "42") is intentional and preserves the fixed-width odometer aesthetic. Pass any string of digits you want displayed.Usage
Visual Output
HitCounter renders as an inline-flex flex-col items-center container. A “Visitors” label sits above the digit track in text-[10px] font-code text-y2k-teal uppercase. The digit track is a flex row wrapped in border-2 border-gray-600 bg-black p-1 with an inset box-shadow (shadow-[inset_0_0_10px_rgba(0,0,0,1)]) to suggest a recessed display housing. Each individual digit cell is a w-4 h-6 flex box with:
bg-gray-900backgroundborder border-gray-800inner dividerstext-y2k-lime font-display text-lg— the signature green-on-black LCD glow
All Four Together
Window Component
Wrap RetroElements in the
Window component for the full Y2K desktop panel experience.Tailwind Config
The
y2k-* color tokens (y2k-lime, y2k-magenta, y2k-teal, y2k-orange, etc.) used by these components are defined in the project’s Tailwind configuration.