7 design variants. Zero config. 100% TypeScript. Full MUI ecosystem.
Live Demo ยท Documentation ยท Storybook
Building with Material-UI is powerful, but painful:
| Pain Point | How Sun UI Fixes It |
|---|---|
| ๐ค MUI's default variants are limited (3 options) | โ 7 beautiful variants out of the box |
| ๐จ Spending hours on consistent styling | โ Production-ready design tokens included |
| ๐ง Complex theme customization | โ Beautiful defaults that just work |
| ๐ Steep learning curve for teams | โ Intuitive API โ same props across all components |
| โฟ Accessibility as afterthought | โ WCAG 2.1 AA compliant by default |
Smug UI is for teams who love MUI's power but want beautiful, opinionated defaults without starting from scratch.
npm install @smug-ui/react @mui/material @emotion/react @emotion/styledimport { Button } from '@smug-ui/react';
// 7 variants ร 7 colors ร 5 sizes = Infinite possibilities
<Button variant="solid" color="primary">Get Started</Button>
<Button variant="soft" color="success">Save Changes</Button>
<Button variant="ghost" color="danger">Delete</Button>
<Button variant="dash" color="info">Upload File</Button>That's it. No theme setup required. Beautiful by default.
Every Sun UI component supports 7 design variants for maximum flexibility:
| Variant | Use Case | Preview |
|---|---|---|
solid |
Primary actions, CTAs | Filled background, high contrast |
soft |
Secondary actions | Subtle tinted background |
outlined |
Tertiary actions | Border with transparent background |
dash |
Upload zones, placeholders | Dashed border style |
ghost |
Minimal actions | Shows color on hover |
plain |
Text-only actions | No background or border |
link |
Inline links | Underlined, hyperlink style |
<Button variant="solid">Solid</Button>
<Button variant="soft">Soft</Button>
<Button variant="outlined">Outlined</Button>
<Button variant="dash">Dash</Button>
<Button variant="ghost">Ghost</Button>
<Button variant="plain">Plain</Button>
<Button variant="link">Link</Button>| Feature | Sun UI | Raw MUI | Chakra UI | Mantine | daisyUI |
|---|---|---|---|---|---|
| React Required | โ | โ | โ | โ | โ |
| Design Variants | 7 | 3 | 4 | 4 | 10+ |
| MUI Ecosystem | โ Full | โ Full | โ | โ | โ |
| Design Tokens | โ Built-in | Manual | โ | โ | Via Tailwind |
| TypeScript | 100% Strict | โ | โ | โ | N/A |
| Zero Config | โ | โ | โ | โ | โ |
| Learning Curve | Low (if know MUI) | Medium | Low | Low | Very Low |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ Raw MUI โโโโโโโโโโโ Sun UI โโโโโโโโโโโ Opinionated Systems โ
โ (Flexible (Best of (Chakra, Mantine โ โ
โ but verbose) both worlds) locked ecosystem) โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Sun UI gives you:
- ๐จ Beautiful defaults (like Chakra/Mantine)
- ๐ Full MUI ecosystem access (600+ components)
- ๐ ๏ธ Complete customization (it's still MUI under the hood)
| Package | Description | Install |
|---|---|---|
@smug-ui/react |
React component library | npm i @smug-ui/react |
@smug-ui/theme |
MUI v5 theme configuration | npm i @smug-ui/theme |
@smug-ui/tokens |
Design tokens (colors, spacing) | npm i @smug-ui/tokens |
@smug-ui/icons |
Icon library (2000+ SVG) | npm i @smug-ui/icons |
@smug-ui/core |
Headless primitives | ๐ง Coming soon |
- โจ Button โ 7 variants, loading states, icons
- ๐ TextField โ Validation, multiline, icons
- ๐ฏ Select โ Single & multi-select
- โ๏ธ Checkbox โ Indeterminate support
- ๐ Radio โ Radio groups
- ๐ Switch โ Toggle switch
โ ๏ธ Alert โ Notifications with actions- ๐ Snackbar โ Toast notifications
- ๐ฌ Tooltip โ Helpful hints
- ๐ฆ Dialog โ Modal dialogs
- ๐ฅ Drawer โ Side panels
- ๐ Popover โ Floating content
- ๐ค Avatar โ User profiles
- ๐ท๏ธ Badge โ Status indicators
- ๐ณ Card โ Content containers
- ๐ท๏ธ Chip โ Tags & filters
| Feature | Description |
|---|---|
| ๐จ 7 Design Variants | solid, soft, outlined, dash, ghost, plain, link |
| ๐ฏ 7 Color Schemes | primary, secondary, success, warning, danger, info, neutral |
| ๐ 5 Sizes | xs, sm, md, lg, xl |
| ๐ Dark Mode | Automatic light/dark theme support |
| โฟ Accessible | WCAG 2.1 AA compliant, keyboard navigation |
| ๐ฆ Tree-Shakeable | Import only what you use |
| ๐ง TypeScript | 100% type-safe with strict mode |
| ๐งช Tested | 62 tests passing, real browser testing |
| ๐ Documented | Storybook with live examples |
import { ThemeProvider } from '@mui/material/styles';
import CssBaseline from '@mui/material/CssBaseline';
import { lightTheme } from '@smug-ui/theme';
import { Button, TextField, Card, Alert } from '@smug-ui/react';
export default function App() {
return (
<ThemeProvider theme={lightTheme}>
<CssBaseline />
<Card variant="soft">
<Alert variant="solid" color="success">
Welcome to Sun UI!
</Alert>
<TextField variant="outlined" label="Email" fullWidth />
<Button variant="solid" color="primary" fullWidth>
Get Started
</Button>
</Card>
</ThemeProvider>
);
}| Resource | Description |
|---|---|
| ๐ Documentation | Complete usage guide |
| ๐จ Storybook | Interactive component explorer |
| ๐๏ธ Architecture | Technical deep-dive |
| ๐งช Testing Guide | Testing patterns |
| ๐ค Contributing | How to contribute |
# Clone & install
git clone https://github.com/tahmidbintaslim/smug-ui.git
cd smug-ui && pnpm install
# Development
pnpm dev # Start Storybook
pnpm build # Build all packages
pnpm test # Run tests
pnpm lint # Lint codesmug-ui/
โโโ apps/docs/ โ Storybook documentation
โโโ packages/
โ โโโ react/ โ React components
โ โโโ theme/ โ MUI theme configuration
โ โโโ tokens/ โ Design tokens
โ โโโ icons/ โ Icon library
โ โโโ core/ โ Headless primitives
โโโ ...
- 14 core components with 7 variants
- Comprehensive test suite (124 tests)
- Full TypeScript support
- Dark mode
- Storybook documentation
- 5 additional components (Table, Tabs, Accordion, Stepper, Menu)
- Theme builder UI
- Figma design kit
- CLI scaffolding tool
-
@smug-ui/coreheadless primitives - Framework-agnostic tokens
- Animation library
- Advanced theming system
We welcome contributions! See our Contributing Guide.
# Quick contribution workflow
git checkout -b feat/your-feature
pnpm test && pnpm lint
git commit -m "feat: add awesome feature"
git push origin feat/your-feature| ๐ฆ Components | ๐จ Variants | ๐งช Tests | โฟ Accessibility | ๐ Stories |
|---|---|---|---|---|
| 14 | 7 | 62 | WCAG 2.1 AA | 82 |
Built with:
- Material-UI (MUI) โ Component foundation
- React 19 โ UI library
- TypeScript 5 โ Type safety
- Vitest โ Testing
- Storybook 10 โ Documentation
- TurboRepo โ Monorepo management
Tahmid Bin Taslim
- GitHub: @tahmidbintaslim
- Portfolio: tahmir.dev
MIT ยฉ 2026 Tahmid Bin Taslim
Made with โ๏ธ by the Sun UI team
โญ Star us on GitHub โ it means everything!