Skip to content

buildinclicks/tinybigui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

134 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

TinyBigUI

Material Design 3 component library for React

MIT License CI Status GitHub Stars npm version Chromatic visual tests

A modern, accessible, and customizable React component library built with Material Design 3, TypeScript, and Tailwind CSS v4.


βš™οΈ Development Status

Released: v0.1.0 (2026-04-15)

Phase 1a (Button, IconButton, FAB) and Phase 1b (TextField, Checkbox, Switch, Radio, RadioGroup) are complete and published to npm.

Watch this repository to follow our progress!


✨ Features

  • 🎨 Material Design 3 - Implements the latest MD3 design system with full token support
  • βš›οΈ React 18+ - Built for modern React with hooks and concurrent features
  • 🎯 TypeScript First - 100% TypeScript with full type safety and IntelliSense
  • πŸŒ™ Dark Mode Built-in - Automatic system preference detection via prefers-color-scheme plus .dark / .light class overrides
  • β™Ώ Accessibility - WCAG 2.1 AA compliant with comprehensive keyboard navigation
  • 🎨 Tailwind CSS v4 - Powered by the latest Tailwind with utility-first styling
  • πŸ“¦ Tree-shakable - Import only what you need, optimized bundle size
  • πŸ§ͺ Well Tested - Comprehensive unit tests and component testing
  • 🎭 Storybook - Interactive component documentation and testing
  • πŸ“š TypeScript Declarations - Full type definitions included
  • πŸ”§ Customizable - Easy theming and customization with CSS variables
  • πŸš€ Modern Build - ESM and CJS formats, optimized for all bundlers

πŸš€ Installation

npm install @tinybigui/react
# or
pnpm add @tinybigui/react
# or
yarn add @tinybigui/react

πŸ“– Quick Start

import { Button } from "@tinybigui/react";
import "@tinybigui/react/styles.css";

function App() {
  return (
    <div>
      <Button variant="filled" color="primary">
        Click me
      </Button>
      <Button variant="outlined" color="secondary">
        Learn more
      </Button>
    </div>
  );
}

πŸ“¦ Packages

This is a monorepo containing multiple packages:

Package Description Version Status
@tinybigui/react React components 0.1.0 Released
@tinybigui/tokens Design tokens (CSS variables) 0.1.0 Released

πŸ—ΊοΈ Roadmap

Phase 0: Foundation βœ…

  • Monorepo setup (pnpm workspaces)
  • TypeScript configuration
  • Build tooling (tsup, PostCSS)
  • Tailwind CSS v4 integration
  • Material Design 3 design tokens (120 tokens)
  • Base utilities (color, typography, cn)
  • Testing setup (Vitest + React Testing Library)
  • Storybook 10 configuration
  • Code quality tools (ESLint, Prettier, Husky, lint-staged)
  • CI/CD (GitHub Actions)
  • Documentation structure

Phase 1a: Core Buttons βœ…

  • Button component (53 tests)
  • IconButton component (49 tests)
  • FloatingActionButton (FAB) component (51 tests)
  • Comprehensive tests
  • Accessibility compliance

Phase 1b: Form Components βœ…

  • TextField component (56 tests)
  • Checkbox component (49 tests)
  • Radio component (47 tests)
  • Switch component (50 tests)
  • First npm release (v0.1.0) β€” released 2026-04-15

Phase 2: Layout & Navigation

  • Card component
  • Dialog component
  • Drawer component
  • Tabs component
  • Navigation components
  • Documentation site launch

Phase 3: Data Display

  • Table component
  • List component
  • Chip component
  • Badge component
  • Tooltip component

Phase 4: Stable Release

  • Performance optimization
  • Bundle size optimization
  • Comprehensive documentation
  • Migration guides
  • v1.0.0 stable release

🀝 Contributing

We welcome contributions! TinyBigUI is an open-source project and we're excited to build it with the community.

How to Contribute

  1. Star the repo ⭐ - Show your support!
  2. Report bugs πŸ› - Open an issue
  3. Suggest features πŸ’‘ - Start a discussion
  4. Submit PRs πŸ”§ - Help us build components!

Development Setup

# 1. Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/tinybigui.git
cd tinybigui

# 2. Install dependencies (requires Node.js 18+ and pnpm 9+)
pnpm install

# 3. Start Storybook for development
pnpm storybook

# 4. Run tests
pnpm test

# 5. Build packages
pnpm build

# 6. Run linting
pnpm lint

# 7. Format code
pnpm format

Project Structure

tinybigui/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ react/          # React components
β”‚   β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   β”‚   └── index.ts
β”‚   β”‚   └── test/
β”‚   └── tokens/         # Design tokens
β”‚       └── src/
β”‚           └── tokens.css
└── .github/
    └── workflows/      # CI/CD

Commit Convention

We use Conventional Commits:

feat: add new button component
fix: resolve focus ring issue
docs: update installation guide
style: format code with prettier
refactor: simplify color utilities
test: add button accessibility tests
chore: update dependencies

Code Quality

All contributions must pass:

  • βœ… ESLint (no errors, zero warnings)
  • βœ… Prettier (formatted code)
  • βœ… TypeScript (no type errors)
  • βœ… Tests (all passing)
  • βœ… Build (successful compilation)

These are automatically checked via Git hooks and CI/CD.


πŸ§ͺ Testing

# Run all tests
pnpm test

# Run tests in watch mode
pnpm test:watch

# Run tests with coverage
pnpm test -- --coverage

# Type check
pnpm typecheck

πŸ“š Documentation


🎯 Design Philosophy

TinyBigUI is built on these core principles:

  1. Accessibility First - Every component is keyboard navigable and screen reader friendly
  2. Type Safety - Full TypeScript support with no compromises
  3. Performance - Optimized bundle sizes and runtime performance
  4. Customization - Easy to theme and customize without fighting the library
  5. Developer Experience - Clear APIs, great documentation, helpful error messages
  6. Standards-Based - Follows Material Design 3 specifications faithfully
  7. Modern Stack - Uses the latest stable versions of React, TypeScript, and Tailwind

πŸ› οΈ Tech Stack

  • React 18.3+ - UI framework
  • TypeScript 5.7+ - Type safety
  • Tailwind CSS v4 - Styling framework
  • Material Design 3 - Design system
  • Vitest - Unit testing
  • React Testing Library - Component testing
  • Storybook 10 - Component development
  • tsup - Build tool
  • ESLint - Code linting
  • Prettier - Code formatting
  • pnpm - Package manager
  • GitHub Actions - CI/CD

πŸ“„ License

MIT Β© buildinclicks

See LICENSE for details.


πŸ™ Acknowledgments

TinyBigUI stands on the shoulders of giants:

Special thanks to all open-source contributors who make projects like this possible! πŸ’™


Contributors

Thanks to all our contributors!


🌟 Show Your Support

If you like this project, please consider:

  • ⭐ Starring the repository
  • πŸ‘οΈ Watching for updates
  • 🐦 Sharing on social media
  • πŸ’¬ Joining discussions
  • πŸ”§ Contributing code or documentation

Built with ❀️ by buildinclicks

GitHub β€’ Issues β€’ Discussions

Packages

 
 
 

Contributors