GitHub - raystack/apsara: Apsara is an open-source re-usable UI components built using Base UI and CSS modules to power Raystack projects.
Apsara ๐งโโ๏ธ is an open-source React UI component library built on Base UI primitives. It provides enterprise-grade, accessible components designed for building complex data interfaces.
Key Features
- Accessible Components: Built on Base UI primitives ensuring ARIA compliance and keyboard navigation
- Flexible Styling: Uses vanilla CSS with HTML data-attributes for powerful theming and style customization
- Enterprise Ready: Designed for complex data-driven applications with components like:
- Data Tables
- Navigation Systems
- Form Controls
- Feedback Components
- Type Safe: Written in TypeScript with comprehensive type definitions
- Modern Stack: Support for React 18+ and modern development practices
Installation
npm install @raystack/apsara
# or
pnpm add @raystack/apsaraUsage
// Add Style import in the root of the project. import "@raystack/apsara/style.css"; // Import components import { Button, Flex } from "@raystack/apsara"; function App() { return ( <Flex> <Button type="primary">I am using ๐งโโ๏ธ Apsara!</Button> </Flex> ); }
Component Categories
Layout
Box- Basic layout containerFlex- Flexbox containerContainer- Responsive wrapperSidebar- Collapsible navigation panel
Navigation
Breadcrumb- Navigation breadcrumbsTabs- Tabbed interfaceCommand- Command palette interface
Data Display
Table- Data table componentAvatar- User avatar displayBadge- Status indicatorsEmptyState- Empty state messaging
Forms
Select- Dropdown selectionRadio- Radio button groupsIconButton- Icon-only buttons
Feedback
Tooltip- Contextual tooltipsCallout- Informational calloutsIndicator- Status indicators
Overlay
Popover- Contextual overlaysDrawer- Slide-out panels with swipe-to-dismissDialog- Modal dialogs
Documentation
Visit our documentation site for:
- Interactive examples
- API references
- Theme customization
- Accessibility guidelines
- Migration guides
Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Setup
# Install dependencies pnpm install # Start development server pnpm dev # Run tests pnpm test # Build library pnpm build
License
Apsara is Apache 2.0 licensed.
