Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/neocities-dev/llms.txt
Use this file to discover all available pages before exploring further.
WindowPanel is the primary layout container used throughout neocities-dev. It wraps any content in a Win95/98-inspired window frame complete with a gradient title bar, a small icon glyph, and three decorative chrome buttons rendered via Lucide React icons.
Props
Text displayed in the title bar, rendered in
font-pixel text-lg tracking-wider. Use file-extension-style labels like "about_me.txt" or "Projects.dir" to stay on-theme.Content rendered inside the scrollable panel body. The body uses
p-4 flex-1 overflow-auto bg-y2k-panel/50 — all overflow scrolls vertically within the panel bounds.Additional Tailwind classes appended to the outermost
bevel-window div. Useful for controlling panel height or grid placement, e.g. "h-full", "md:col-span-2", or "flex-none".Controls the background and text colour of the title bar. One of four values:
| Value | CSS applied | Best used for |
|---|---|---|
"default" | bg-gradient-to-r from-y2k-panelDark to-y2k-panel text-y2k-text | General-purpose panels |
"cyan" | bg-y2k-cyan text-black | Informational / intro panels |
"magenta" | bg-y2k-magenta text-white | Status / alert panels |
"purple" | bg-y2k-purple text-white | Decorative / creative panels |
Usage
Default (gradient) title bar
Cyan title bar
Magenta title bar
Purple title bar with custom className
Title bar chrome
The title bar is a flex row with two children:- Left side — a small
w-3 h-3 bg-white/20 border border-white/40square icon followed by thetitletext. - Right side — three
w-5 h-5bevel buttons using Lucide icons:Minus(size 12) — minimizeSquare(size 10) — maximizeX(size 12) — close; hover state useshover:text-y2k-magentainstead of cyan
The minimize, maximize, and close buttons are purely decorative. They have no
onClick handlers and perform no action when clicked. They exist solely to reinforce the OS-window illusion.Layout behaviour
WindowPanel renders as a flex flex-col div with the root class bevel-window. The title bar has a fixed height determined by px-2 py-1, and the body fills the remaining space with flex-1. If you want a panel to fill its parent’s height, pass className="h-full".