Component Library

UI Elements Playground

A living collection of reusable UI components designed to work across web apps, games, and everything in between.

AstroCSS

September 5, 2026

Overview

This project is a growing playground for small, focused UI elements. Each component is built to be lightweight, reusable, and easy to drop into any project — whether that's a traditional web app, a game menu, or an embedded interface.

The goal is simple: build once, use everywhere.

Why a shared playground?

Rather than maintaining separate UI kits for web and game projects, every component lives side-by-side here: same props, same styling approach, same documentation. Once a pattern proves itself, it gets promoted into the products that need it.

Progress Bar

A flexible progress bar component for health bars, XP bars, loading indicators, or anywhere you need to show progress.

  • Pass any value and optional max
  • Add a label for context
  • Show or hide the numeric value with showValue
  • Works with any CSS background or gradient

Usage example:

Player Health
72/100
Loading Assets
80/100
<ProgressBar label="Player Health" value={72} max={100} />
<ProgressBar label="Loading Assets" value={80} max={100} />

How it's built: Read the ProgressBar blog post

Button Effect

A polished button effect with a subtle hover "shine" sweep — perfect for game menus, call-to-action buttons, or any interactive element that needs a little extra life.

  • Built with pure CSS pseudo-elements
  • Smooth transition on hover
  • Works on any button element
  • Easy to customize with your own gradient

Usage example:

<ButtonEffect label="Start Game" />
<ButtonEffect label="Settings" />

How it's built: Read the ButtonEffect blog post

When to reach for each

ComponentWeb / AppGame
ProgressBarLoading screens, upload/download, multi-step formsHealth bars, stamina, XP, cooldowns
ButtonEffectCall-to-action buttons, nav highlightsMenu buttons (Start, Settings, Quit)

More components are on the way. Check back often, or explore the codebase to see how each one is implemented.