A lightweight, 3D blocky-themed UI component library built with TypeScript and pure CSS.
๐ฎ Live Demo - Try all components interactively! ๐ Complete Documentation | Local Docs | Architecture Guide
Inspired by the multiplier tags in Stack Rush, I wanted to create a lightweight UI library that brings that distinctive 3D blocky aesthetic to any web project. Unlike heavy framework-dependent UI libraries, Blocky UI is:
- Zero Framework Dependencies - Works with vanilla JavaScript/TypeScript
- Pure CSS Effects - Multi-layer box shadows for authentic 3D depth
- Game-Ready - Optimized for interactive applications and games
- Self-Contained - Single CSS file + TypeScript class, minimal build process
- ๐ฎ 3D Blocky Aesthetic: Multi-layer box shadows creating realistic 3D depth
- ๐จ Pure CSS Styling: No SVG generation, hardware-accelerated rendering
- ๐ญ Theme Support: Built-in themes (blocky, fall-guys) with easy customization
- ๐ฆ Zero Dependencies: Pure TypeScript/JavaScript with no external dependencies
- ๐ช Full TypeScript Support: Complete type safety with comprehensive interfaces
- ๐ฑ Responsive Design: Mobile-first approach with adaptive breakpoints
- โก Lightweight & Fast: Minimal bundle size, optimized for 60fps animations
- ๐ง Framework-Agnostic: Works with React, Vue, Svelte, or vanilla JS
npm install blocky-ui-liteimport { BlockyUI } from 'blocky-ui-lite';
import 'blocky-ui-lite/styles';
// Set a theme (optional - defaults to 'blocky')
BlockyUI.setTheme('fall-guys'); // or 'blocky' for default theme
// Create a button
const button = BlockyUI.createButton({
text: 'Click Me',
variant: 'primary',
onClick: () => console.log('Clicked!')
});
document.body.appendChild(button);
// Create and show a modal
const modal = BlockyUI.createModal({
title: 'Welcome',
content: 'This is a blocky modal!',
buttons: [
{ text: 'OK', variant: 'primary', onClick: () => {} }
]
});
modal.show(); // Show the modal
// modal.close(); // Close programmatically
// Convenience methods for common modal types
BlockyUI.createNotification('Success!', 'Operation completed.').show();
BlockyUI.createError('Error!', 'Something went wrong.').show();
const confirmModal = BlockyUI.createConfirmation(
'Confirm Action',
'Are you sure?',
() => console.log('Confirmed'),
() => console.log('Cancelled')
);
confirmModal.show();- BlockyButton - 4 variants with 3D hover effects
- BlockyDropdown - Theme-aware dropdowns with 4 variants and custom arrow
- BlockyModal - Full-featured modals with backdrop blur and animations
- BlockyCard - Content containers with 3D styling
- BlockyInfo - Overlay popups with 5 color themes (yellow, green, blue, purple, red)
- BlockyTag - Status/location tags with gradient styling
- BlockyPage - Full-screen pages with animated gradient borders (7 color sets) and optional auto-hide scrollbar
- Error Dialogs - Pre-configured error modals
- Confirmation Dialogs - Yes/No confirmation modals
- Notifications - Toast-style notifications
Blocky UI supports multiple themes out of the box. Switch themes at runtime with a single line of code:
import { BlockyUI } from 'blocky-ui-lite';
// Switch to Fall Guys theme (bright, playful cartoon style)
BlockyUI.setTheme('fall-guys');
// Switch back to default blocky theme
BlockyUI.setTheme('blocky');| Theme | Description |
|---|---|
blocky |
Default dark theme with deep shadows and purple accents |
fall-guys |
Bright, playful cartoon style with cyan backgrounds, solid black shadows, purple headers, and rounded corners |
Fall Guys Theme includes:
- Light cyan (
#64d4ff) backgrounds - Solid black drop shadows (no transparency)
- Purple gradient headers with white text
- White borders on components
- More rounded corners (16-20px)
- Playful, cartoon-like aesthetic
Blocky UI uses pure CSS with 3D box-shadow effects, gradient backgrounds, and smooth transitions. All components feature:
- 3D depth with multi-layer box shadows
- Smooth hover and active state animations
- Gradient backgrounds with radial overlays
- Responsive breakpoints for all screen sizes
- Customizable color variants
- Theme-based styling via
data-blocky-themeattribute
The components feature:
- Multi-layer box shadows creating authentic 3D depth
- Gradient backgrounds with radial overlays for richness
- Smooth hover animations with Y-axis transforms
- Backdrop blur for modern glassmorphism effects
- Responsive scaling for different screen sizes
- Customizable color variants via CSS custom properties
- ๐ Wiki Home - Complete documentation
- ๐ Installation & Setup - Get started quickly
- ๐ Component Reference - Full API documentation
- ๐ก Complete Examples - Real-world examples
- ๐ฎ Game Integration - Framework integration guides
All documentation is also available in the docs/wiki/ directory.
- No Framework Lock-in: Works with any game engine
- Performance Optimized: Pure CSS for 60fps animations
- Memory Efficient: Minimal memory footprint
- Event-Driven: Clean event handling
- Responsive: Adapts to different screen sizes
Design Inspiration: Stack Rush multiplier tags - The distinctive 3D blocky aesthetic with multi-layer box shadows and gradient backgrounds.
blocky-ui/
โโโ README.md # This file
โโโ package.json # Package configuration
โโโ rollup.config.js # Build configuration
โโโ src/ # Source code
โ โโโ index.ts # Main entry point
โ โโโ components/ # Individual component classes
โ โ โโโ BlockyButton.ts
โ โ โโโ BlockyModal.ts
โ โ โโโ BlockyCard.ts
โ โ โโโ BlockyInfo.ts
โ โ โโโ BlockyTag.ts
โ โ โโโ BlockyPage.ts
โ โโโ types/ # TypeScript definitions
โ โ โโโ index.ts
โ โโโ styles/ # CSS modules
โ โโโ base/
โ โ โโโ _variables.css
โ โ โโโ _shared.css
โ โ โโโ _animations.css
โ โโโ components/
โ โ โโโ _button.css
โ โ โโโ _modal.css
โ โ โโโ _card.css
โ โ โโโ _info.css
โ โ โโโ _tag.css
โ โ โโโ _page.css
โ โโโ themes/
โ โ โโโ _fall-guys.css # Fall Guys theme
โ โโโ blocky-ui.css # Main entry point
โโโ dist/ # Built output (generated)
โ โโโ index.esm.js # ES Module build
โ โโโ index.cjs.js # CommonJS build
โ โโโ index.umd.js # UMD build
โ โโโ index.d.ts # TypeScript declarations
โ โโโ blocky-ui.css # Processed styles
โโโ docs/ # Documentation
โ โโโ wiki/ # Wiki pages (local)
โ โโโ index.html # GitHub Pages demo
โโโ screenshots/ # Component screenshots
# Install dependencies
npm install
# Build library
npm run build
# Watch mode for development
npm run dev
# Run demo server
npm run demo
# Clean build artifacts
npm run cleanContributions welcome! Please maintain the 3D blocky aesthetic and follow the established patterns for new components.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CHANGELOG.md for version history and release notes.
MIT ยฉ Richard Fu
Built for gaming. Designed with 3D depth. ๐ฎ
Star โญ this repo if you find it useful!
