Retro styled React component library with nature-themed design tokens and glassmorphism.
π¦ NPM β’ π GitHub β’ β¨ Features β’ π Installation β’ π Components
- 28 Components β Buttons, forms, layout, navigation, feedback, data display
- Tailwind CSS Preset β Reusable
mojoPresetwith nature-themed color tokens - Glassmorphism β Shared style utilities for glass card patterns
- TypeScript β Full TypeScript support with strict typing
- SCSS Modules β Scoped styling with SCSS modules
- Accessible β ARIA labels and keyboard navigation
- Animated β Smooth transitions powered by framer-motion
npm install @dendelion/mojo-ui
# or
yarn add @dendelion/mojo-ui
# or
pnpm add @dendelion/mojo-uinpm install react react-dom framer-motion tailwindcss// tailwind.config.js
import { mojoPreset } from '@dendelion/mojo-ui/tailwind';
export default {
presets: [mojoPreset],
content: ['./src/**/*.{js,jsx,ts,tsx}'],
};// In your app entry (e.g., main.scss)
@import '@dendelion/mojo-ui/src/globals.scss';import { Button, Card, Input } from '@dendelion/mojo-ui';
function App() {
return (
<Card title="Welcome">
<Input placeholder="Enter your name" />
<Button variant="green" title="Submit" />
</Card>
);
}- Button β Retro-styled 3D buttons (green, yellow, gray, red)
- IconButton β Circular icon buttons
- Input β Text input with label support
- Checkbox β Toggle checkbox
- Select β Dropdown select
- Textarea β Multi-line text input
- Switch β Toggle switch with variants
- Radio β Radio button group (horizontal/vertical)
- Slider β Range slider with analog feel
- Card β Container with header and footer
- Panel β Multi-section container
- PageLayout β Standard page structure
- StatsGrid β Statistics grid layout
- Tabs β Tab navigation
- VinylTabs β Themed tab navigation
- NavigationIsland β Floating navigation bar
- ProgressBar β Segmented progress bar
- CircularProgress β Circular progress indicator
- StatsCard β Single statistic display
- StatusIndicator β Color-coded status badge
- Skeleton β Loading placeholder
- Badge β Status/label badge with dot indicators
- Alert β Alert banner with variants
- Toast β Notification toasts with auto-dismiss
- Modal β Animated dialog overlay
- Popup β Dropdown menu
- Tooltip β Hover information tooltip
- DataTable β Table with retro styling
import {
CheckIcon, CloseIcon, PlusIcon, SearchIcon,
MenuIcon, SettingsIcon, ArrowUpIcon, ArrowDownIcon,
SortIcon, FilterIcon,
} from '@dendelion/mojo-ui';Reusable glassmorphism and layout utilities:
import {
container, content, title,
statsCard, statsTitle, statsValue,
statsGrid, serviceGrid, actionsGrid, recentList,
glassmorphism, layout, grids, sharedStyles,
} from '@dendelion/mojo-ui/styles';| Color | Shades | Usage |
|---|---|---|
| moss | fog, calm, DEFAULT, deep, relic, accent | Success, growth |
| bark | fog, calm, DEFAULT, deep, relic | Structure, wood |
| coal | fog, calm, DEFAULT, deep, relic | Backgrounds, dark surfaces |
| clay | fog, calm, DEFAULT, deep, relic | Warm accents |
| river | fog, calm, DEFAULT, deep, relic | Info, water elements |
| paper | fog, calm, DEFAULT, deep, relic, accent | Light surfaces |
| sun | fog, calm, DEFAULT, deep, relic | Highlights, warnings |
| ember | fog, calm, DEFAULT, deep, relic | Errors, danger |
| Family | Usage |
|---|---|
| Tiny5 | Display text, headings |
| KyivType Sans | UI elements, form inputs |
| KyivType Serif | Body text |
| JetBrains Mono | Code, monospace |
# Install dependencies
npm install
# Start showcase
npm run dev
# Build library
npm run build
# Type check
npm run check-typesMIT