A modern, framework-agnostic component library for faster web development
UI Heat is a comprehensive component library ecosystem consisting of:
- π± Demo Application - Interactive showcase and documentation site (this repository root)
- π¦ Component Library - Publishable npm package with reusable components (
/packages
directory) - π Storybook - Interactive component documentation and playground
- π Docusaurus Site - Comprehensive documentation and guides
Built for developers who value simplicity, performance, and flexibility across React, React Native, and vanilla JavaScript.
ui-library/
βββ π± Demo App (Root) # React showcase application
β βββ src/
β β βββ components/ # Demo app components
β β βββ pages/ # Documentation pages
β β βββ api/ # API integration examples
β βββ package.json # Demo app dependencies
β
βββ π¦ Component Library (/packages)
βββ src/
β βββ components/ # Reusable UI components
β βββ stories/ # Storybook stories
βββ docs/ # Docusaurus documentation
βββ rollup.config.js # Library build configuration
βββ package.json # Library package configuration
# Install UI Heat in your project
npm install ui-heat
# Or with yarn
yarn add ui-heat
# 1. Clone the repository
git clone https://github.com/HoseaCodes/ui-library.git
cd ui-library
# 2. Install demo app dependencies
npm install
# 3. Install library dependencies
cd packages && npm install && cd ..
# 4. Start the demo application
npm start
The demo app will open at http://localhost:3000
import React from 'react';
import { Button, Card } from 'ui-heat';
function App() {
return (
<Card>
<h2>Welcome to UI Heat</h2>
<Button variant="primary" size="large">
Get Started
</Button>
</Card>
);
}
export default App;
import React from 'react';
import { Button } from 'ui-heat/native';
export default function App() {
return (
<Button
variant="primary"
title="Click me"
onPress={() => alert('Hello from UI Heat!')}
/>
);
}
import { createButton } from 'ui-heat';
const button = createButton({
variant: 'primary',
text: 'Click me',
onClick: () => console.log('Button clicked!')
});
document.body.appendChild(button);
UI Heat provides a comprehensive set of components organized by category:
- Button - Versatile button component with multiple variants
- Card - Flexible container component for content
- Input - Form input with validation and styling
- Modal - Accessible modal dialogs
- Navbar - Responsive navigation bar
- Sidebar - Collapsible sidebar navigation
- Breadcrumb - Navigation breadcrumb trail
- Tabs - Tabbed content interface
- Table - Feature-rich data tables
- List - Styled list components
- Badge - Status and notification badges
- Progress - Progress bars and indicators
- FormGroup - Form organization and layout
- Select - Dropdown select component
- Checkbox - Styled checkbox inputs
- Radio - Radio button groups
- Alert - Contextual feedback messages
- Toast - Temporary notification system
- Tooltip - Contextual help and information
- Loading - Loading states and spinners
# Start demo application
npm start
# Build demo for production
npm run build
# Run tests
npm test
cd packages
# Start Storybook for component development
npm run storybook
# Build the library for publishing
npm run build-lib
# Build Storybook for deployment
npm run build-storybook
cd packages/docs
# Start Docusaurus development server
npm start
# Build documentation site
npm run build
Script | Description |
---|---|
npm start |
Start development server |
npm run build |
Build demo app for production |
npm test |
Run test suite |
npm run eject |
Eject from Create React App |
Script | Description |
---|---|
npm run storybook |
Start Storybook development server |
npm run build-storybook |
Build Storybook for deployment |
npm run build-lib |
Build library for npm publishing |
Resource | Description | Link |
---|---|---|
π Live Demo | Interactive showcase and documentation | uiheat.com |
π Documentation | Comprehensive guides and API reference | docs.uiheat.com |
π Storybook | Interactive component playground | storybook.uiheat.com |
π¦ NPM Package | Install UI Heat in your project | npmjs.com/package/ui-heat |
π» GitHub | Source code and issue tracking | github.com/HoseaCodes/ui-library |
UI Heat supports comprehensive theming through CSS custom properties:
:root {
--ui-primary: #E84545; /* Primary brand color */
--ui-secondary: #FF6B6B; /* Secondary/accent color */
--ui-background: #1a1a1a; /* Background color */
--ui-text: #ffffff; /* Text color */
--ui-radius: 8px; /* Border radius */
--ui-spacing: 1rem; /* Base spacing unit */
}
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes in the appropriate directory:
- Demo app changes:
/src
- Library components:
/packages/src/components
- Documentation:
/packages/docs
- Demo app changes:
- Add tests and update documentation
- Commit changes:
git commit -m 'Add amazing feature'
- Push to branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the coding style defined in
.github/copilot-instructions.md
- Write tests for new components using React Testing Library
- Update Storybook stories for UI changes
- Include accessibility features (ARIA labels, keyboard navigation)
- Test responsive design on multiple screen sizes
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with β€οΈ by Dominique Hosea
- Inspired by modern design systems and developer experience
- Community-driven development and feedback
β Star this repository if UI Heat helps you build better interfaces!
Made with β€οΈ for the developer community