A beautiful, minimalistic React + Tailwind UI framework for SaaS applications
npm install niva-uiShape Your Interface. Your Way.
A beautiful, minimalistic React + Tailwind UI framework for SaaS applications




- 🎨 Beautiful & Minimalistic - Clean, modern design perfect for SaaS applications
- ⚡ Tailwind Native - Built with Tailwind CSS for maximum customization
- 🔧 Fully Customizable - Theme everything via configuration
- 📱 Responsive by Default - Mobile-first responsive design
- ♿ Accessible - WAI-ARIA compliant with keyboard navigation
- 🌙 Dark Mode Ready - Built-in dark mode support
- 📦 Tree Shakeable - Import only what you need
- 🔤 TypeScript First - Full type safety out of the box
``bash`
npm install niva-ui
1. Install Tailwind CSS (if you haven't already):
`bash`
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
2. Configure Tailwind to include Niva UI:
`js`
// tailwind.config.js
module.exports = {
content: [
"./src/*/.{js,ts,jsx,tsx}",
"./node_modules/niva-ui/*/.{js,ts,jsx,tsx}", // Add this line
],
theme: {
extend: {},
},
plugins: [],
}
3. Import Niva UI styles in your CSS:
`css`
/ globals.css /
@tailwind base;
@tailwind components;
@tailwind utilities;
`tsx
import { Button, Card } from 'niva-ui'
function App() {
return (
Welcome to Niva UI
)
}
`
- Button - Primary actions with multiple variants
- Card - Content containers with slots
- Badge - Status indicators and labels
- Avatar - User profile images and initials
- Input - Form inputs with validation states
- Container - Responsive page containers
- Stack - Vertical and horizontal layouts
- Grid - Responsive grid system
- Flex - Flexible layouts
- Dashboard Layout - Pre-built dashboard structure
- Metric Cards - KPI and statistics display
- User Profile - User information components
- Pricing Cards - Subscription plan displays
- Settings Panels - Configuration interfaces
Create a niva.config.js file to customize your theme:
`js`
export default {
theme: {
colors: {
primary: '#6366f1',
secondary: '#14b8a6',
accent: '#f59e0b',
},
borderRadius: {
sm: '0.375rem',
md: '0.5rem',
lg: '0.75rem',
},
spacing: {
xs: '0.5rem',
sm: '1rem',
md: '1.5rem',
lg: '2rem',
}
},
components: {
Button: {
defaultVariant: 'primary',
defaultSize: 'md',
},
Card: {
defaultVariant: 'elevated',
}
}
}
Each component supports multiple variants and sizes:
`tsx
// Button variants
// Button sizes
`
Niva UI comes with powerful CLI tools to speed up development:
`bashInstall CLI globally
npm install -g @niva-ui/cli
📖 Documentation
- Getting Started - Setup and basic usage
- Components - Complete component reference
- Theming - Customization guide
- Examples - Real-world examples
- CLI Reference - Command-line tools
🎮 Playground
Try Niva UI components in our interactive playground:
- Online Playground - Browser-based editor
- CodeSandbox Template - Ready-to-use template
- Figma Kit - Design system for Figma
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
$3
`bash
Clone the repository
git clone https://github.com/sh20raj/niva-ui.git
cd niva-uiInstall dependencies
npm installStart development server
npm run devRun tests
npm testBuild library
npm run build
``MIT © Niva UI Team
- Inspired by Shadcn/ui
- Built with Tailwind CSS
- Powered by Radix UI
---