Blend Design System
A comprehensive React component library and design system by Juspay, built with TypeScript and styled-components.

🚀 Features
- 50+ Production-ready Components - Buttons, Forms, Navigation, Data Display, and more
- TypeScript Support - Full type safety and IntelliSense support
- Accessible by Default - Built with accessibility best practices using Radix UI primitives
- Customizable Theming - Flexible design tokens and theme system
- Modern React - Built for React 19+ with hooks and modern patterns
- Tree Shakeable - Import only what you need
- Styled Components - CSS-in-JS with full theming support
📦 Installation
npm install @juspay/blend-design-system
yarn add @juspay/blend-design-system
pnpm add @juspay/blend-design-system
🎯 Quick Start
import React from 'react'
import { Button, Alert, ThemeProvider } from '@juspay/blend-design-system'
import '@juspay/blend-design-system/style.css'
function App() {
return (
<ThemeProvider>
<div>
<Alert variant="success">Welcome to Blend Design System!</Alert>
<Button variant="primary" size="medium">
Get Started
</Button>
</div>
</ThemeProvider>
)
}
export default App
📚 Components
Form Components
- Button - Primary, secondary, and various button styles
- ButtonGroup - Group related buttons together
- Inputs - Text, number, textarea, and specialized input components
- Checkbox - Accessible checkbox with custom styling
- Radio - Radio button groups
- Switch - Toggle switches
- Slider - Range and value sliders
- SingleSelect - Dropdown selection
- MultiSelect - Multiple option selection
Navigation
- Tabs - Horizontal and vertical tab navigation
- Breadcrumb - Navigation breadcrumbs
- Menu - Dropdown and context menus
- Sidebar - Collapsible sidebar navigation
Data Display
- DataTable - Feature-rich data tables with sorting, filtering
- StatCard - Statistical information cards
- Charts - Data visualization components
- Avatar - User profile pictures
- AvatarGroup - Multiple avatar display
- Tags - Label and category tags
- SplitTag - Tags with actions
Feedback
- Alert - Success, error, warning, and info alerts
- Modal - Dialog and modal windows
- Tooltip - Contextual help tooltips
- Snackbar - Toast notifications
- Popover - Floating content containers
Layout
- Accordion - Collapsible content sections
- DateRangePicker - Date range selection
🎨 Design Tokens
Blend includes a comprehensive set of design tokens for consistent styling:
import { foundationToken } from '@juspay/blend-design-system'
foundationToken.colors.primary[500]
foundationToken.colors.gray[100]
foundationToken.fontSize.headingLG
foundationToken.fontWeight[600]
foundationToken.spacing[16]
foundationToken.borderRadius[8]
🔧 Theming
Customize the design system to match your brand:
import { ThemeProvider, createTheme } from '@juspay/blend-design-system'
const customTheme = createTheme({
colors: {
primary: {
500: '#your-brand-color',
},
},
})
function App() {
return <ThemeProvider theme={customTheme}>{/* Your app */}</ThemeProvider>
}
📖 Documentation
🛠️ Development
git clone https://github.com/juspay/blend-design-system.git
pnpm install
pnpm dev
pnpm build
pnpm test
📝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
📄 License
MIT © Juspay Technologies
🔗 Links
Built with ❤️ by the Juspay Design Team