tw-react-components
v0.0.201
Published
A set of React components build with TailwindCSS to make a nice dashboard.
Readme
TailwindCSS React Components
A comprehensive library of React components built with TailwindCSS for creating beautiful and responsive dashboards.
Demo
Check out the live demo to see the components in action.
Features
- 🎨 Beautiful UI components built with TailwindCSS
- 🌙 Light and dark mode support
- 📱 Fully responsive design
- ♿ Accessible components using Radix UI
- 🧩 Customizable and extensible
- 🧪 Well-tested with comprehensive test coverage
Installation
# Using bun
bun add tw-react-components
# Using npm
npm install tw-react-components
# Using yarn
yarn add tw-react-components
# Using pnpm
pnpm add tw-react-componentsRequirements
- React 18 or later
- TailwindCSS 3
Setup
1. Configure TailwindCSS
Add the required plugins to your tailwind.config.js:
module.exports = {
content: [
// ...
'./node_modules/tw-react-components/**/*.{js,ts,jsx,tsx}',
],
plugins: [
require('@tailwindcss/forms'),
require('tailwindcss-animate'),
// Include the custom plugin from tw-react-components (optional)
require('tw-react-components/tailwindcss-plugin'),
],
};2. Import the CSS
Add the following import to your main CSS file:
@import 'tw-react-components/index.css';Available Components
This library provides a wide range of components:
Layout: Building blocks for page layouts
Layout- Main container for your applicationFlex- Flexible box layout componentBlock- Block-level layout componentCard- Container with styling and functionality
Navigation:
Navbar- Top navigation barSidebar- Side navigation componentTabs- Tabbed interface component
Data Display:
Table- Regular table componentDataTable- Advanced data table with sorting and filteringList- Displaying lists of dataListSorter- Sortable list componentBadge- Small status indicator
Input & Form:
Button- Various button stylesForm- Form controls and helpersSwitch- Toggle switch component
Feedback & Overlay:
Dialog- Modal dialog boxesPopover- Content that appears over the UITooltip- Information shown on hoverSheet- Slide-in panelsSkeleton- Loading placeholdersSpinner- Loading indicatorHint- Contextual hints and tips
Utilities:
Separator- Visual dividersCollapsible- Expandable/collapsible contentDropdownMenu- Menu that appears on clickPagination- Navigate through pages of contentThemeSelector- Toggle between light and dark themes
Usage
import React from 'react';
import { Button, Card, Flex } from 'tw-react-components';
function MyComponent() {
return (
<Card className="p-4">
<h2 className="text-lg font-medium">Card Title</h2>
<p className="mt-2 text-sm text-gray-500">Card content goes here</p>
<Flex className="mt-4 justify-end gap-2">
<Button variant="outline">Cancel</Button>
<Button>Submit</Button>
</Flex>
</Card>
);
}Development
This project uses Nx as a build system and Bun as a package manager.
# Install dependencies
bun install
# Start the development server
bun run start
# Build the library
bun run build
# Run tests
bun run test
# Lint the code
bun run lint
# Format the code
bun run prettier:fixContributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
