Valk UI - Modern React Components Library with TypeScript
npm install ui-valk!Valk UI
!License
!TypeScript
!React
Modern UI component library for React with TypeScript
Documentation ⢠Installation ⢠Components ⢠CLI
---
- šØ Modern Design: Beautiful and consistent components with Tailwind CSS
- āļø React 18 & 19: Support for React 18 and React 19
- š TypeScript: Fully typed and production-ready
- š Dark Mode: Native dark mode support
- š¦ Interactive CLI: Install only the components you need
- šÆ Zero Heavy Dependencies: Lightweight and performant components
- āæ Accessible: Built with accessibility in mind
- š§ Customizable: Easy to customize and extend
``bash`
npm install ui-valkor
pnpm add ui-valkor
yarn add ui-valk
`bash`
npm install react react-dom @heroicons/react @headlessui/react
For chart components (optional):
`bash`
npm install chart.js react-chartjs-2
Valk UI includes an interactive CLI to install components directly into your project:
`bash`
npx ui-valk
The CLI allows you to:
- ā
Choose language (PT, EN, ES)
- ā
Install by category or individually
- ā
Set custom installation directory
- ā
Automatic Tailwind CSS configuration
- Button - Buttons with multiple variants (primary, secondary, outline, ghost, destructive) and sizes
- Input - Input fields with icon support, labels, and validation
- Select - Custom selector with search and multiple mode
- Checkbox - Custom checkbox with label and description
- Toggle - Switch toggle with different sizes
- DatePicker - Date selector with interactive calendar
- Modal - Responsive modal with different sizes
- Dialog - Accessible dialog with overlay
- Toast - Toast notification system
- ToastContext - Context provider for toasts
- StatusBadge - Badges to indicate status
- Badge - Generic customizable badge
- ProgressBar - Progress bar with different colors
- DropdownMenu - Accessible dropdown menu
- Command - Command palette (command search)
- ThemeToggle - Toggle to switch light/dark theme
- Card - Card with header, content and footer
- Avatar - Avatar with fallback to initials
- MetricCard - Card to display metrics and KPIs
- PaginatedTable - Paginated table with search and sorting
- Navigation - Navigation component
- Sidebar - Collapsible sidebar
- Tabs - Tab system
- Accordion - Expandable accordion
- Separator - Visual separator
- Sheet - Side panel (drawer)
- DocsSidebar - Sidebar for documentation
- BarChart - Comparative bar chart
- DonutChart - Donut chart
- LineChart - Temporal line chart
`tsx`
import { Button, Input, Modal, Card } from 'ui-valk'
`tsx
import { Button, Input, Modal, Card, CardHeader, CardTitle, CardContent } from 'ui-valk'
function App() {
const [isOpen, setIsOpen] = useState(false)
return (
onClose={() => setIsOpen(false)}
title="Modal Title"
>
Modal content here
š ļø Requirements
- React: ^18.0.0 || ^19.0.0
- React DOM: ^18.0.0 || ^19.0.0
- TypeScript: ^5.0.0 (recommended)
- Tailwind CSS: ^3.0.0
- Node.js: ^18.0.0
$3
-
@heroicons/react: ^2.0.0 (for icons)
- @headlessui/react: ^2.0.0 (for accessible components)
- react-router-dom: ^7.0.0 (optional, for navigation)$3
-
chart.js: ^4.0.0 and react-chartjs-2: ^5.0.0 (for chart components)āļø Tailwind CSS Configuration
Valk UI requires Tailwind CSS. Add to your
tailwind.config.js:`js
module.exports = {
content: [
"./src/*/.{js,ts,jsx,tsx}",
"./node_modules/ui-valk/dist/*/.{js,ts,jsx,tsx}",
],
theme: {
extend: {
// Your customizations
},
},
plugins: [],
}
`And import the CSS in your main file:
`css
@tailwind base;
@tailwind components;
@tailwind utilities;
`š Complete Documentation
For complete documentation with examples, visit:
- Online Documentation (coming soon)
- GitHub Repository
š¤ Contributing
Contributions are welcome! Please:
1. Fork the project
2. Create a feature branch (
git checkout -b feature/AmazingFeature)
3. Commit your changes (git commit -m 'Add some AmazingFeature')
4. Push to the branch (git push origin feature/AmazingFeature`)This project is licensed under the MIT License - see the LICENSE file for details.
- Tailwind CSS - Utility-first CSS framework
- Heroicons - SVG icons
- Chart.js - Chart library
- Headless UI - Accessible components
- Issues: GitHub Issues
- Discussions: GitHub Discussions
---
Made with ā¤ļø by Fernando Forastieri
ā If this project was useful to you, consider giving it a star!