A beautiful, accessible, and framework-agnostic UI component library
Documentation Β· Components Β· Examples Β· Playground
# Install globally
npm install -g adya-ui-cli
# Or use with npx (no installation needed)
npx adya-ui-cli init
# Core (Web Components)
npm install adya-ui-core
# React
npm install adya-ui-react
# Vue
npm install adya-ui-vue
<!-- Core library -->
<script type="module" src="https://cdn.jsdelivr.net/npm/adya-ui-core"></script>
<!-- Theme (optional) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/adya-ui-core/dist/theme.css">
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AdyaUI Demo</title>
<script type="module" src="https://cdn.jsdelivr.net/npm/@adyaui/core"></script>
</head>
<body>
<aui-button variant="primary">Click Me!</aui-button>
<aui-text-field label="Name" placeholder="Enter your name"></aui-text-field>
<script>
const button = document.querySelector('aui-button');
button.addEventListener('click', () => {
alert('Button clicked!');
});
</script>
</body>
</html>
import { AuiButton, AuiTextField } from '@adyaui/react';
import '@adyaui/core/dist/theme.css';
function App() {
const handleClick = () => {
console.log('Button clicked!');
};
return (
<div>
<AuiButton variant="primary" onClick={handleClick}>
Click Me!
</AuiButton>
<AuiTextField label="Name" placeholder="Enter your name" />
</div>
);
}
<template>
<div>
<aui-button variant="primary" @click="handleClick">
Click Me!
</aui-button>
<aui-text-field label="Name" placeholder="Enter your name" />
</div>
</template>
<script setup>
import { AuiButton, AuiTextField } from '@adyaui/vue';
import '@adyaui/core/dist/theme.css';
const handleClick = () => {
console.log('Button clicked!');
};
</script>
import { Component } from '@angular/core';
import '@adyaui/core';
import '@adyaui/core/dist/theme.css';
@Component({
selector: 'app-root',
template: `
<aui-button variant="primary" (click)="handleClick()">
Click Me!
</aui-button>
<aui-text-field label="Name" placeholder="Enter your name"></aui-text-field>
`
})
export class AppComponent {
handleClick() {
console.log('Button clicked!');
}
}
NEW! Generate UI components using natural language with AdyaUI AI CLI.
# Install the CLI
npm install -g @adyaui/cli
# Initialize in your project
cd my-app
adya-ui init
# Generate components with AI
adya-ui ai
# Create a login page
adya-ui ai -p "Create a login page with email and password fields"
# Build a product grid
adya-ui ai -p "Build a product grid with 3 columns, showing image, title, price, and add to cart button"
# Generate a dashboard
adya-ui ai -p "Create a dashboard with sidebar, header, and 4 stat cards"
Learn more about AI CLI β | Example Prompts β
AdyaUI uses CSS custom properties for theming, making it easy to customize:
:root {
--aui-primary: #2196f3;
--aui-secondary: #9c27b0;
--aui-success: #4caf50;
--aui-error: #f44336;
--aui-font-family: 'Inter', sans-serif;
--aui-border-radius: 8px;
}
// Toggle dark mode
document.documentElement.setAttribute('data-theme', 'dark');
adyaui/
βββ packages/
β βββ core/ # Web Components core
β βββ react/ # React wrapper
β βββ vue/ # Vue wrapper
β βββ angular/ # Angular wrapper
β βββ svelte/ # Svelte wrapper
β βββ theme/ # Design tokens
β βββ utils/ # Utilities
βββ docs/ # Documentation
βββ examples/ # Example apps
We welcome contributions! Please see our Contributing Guide for details.
# Clone the repository
git clone https://github.com/yourusername/adyaui.git
cd adyaui
# Install dependencies
pnpm install
# Start development
pnpm dev
# Run tests
pnpm test
# Build all packages
pnpm build
Full documentation is available at adyaui.dev
See our detailed roadmap for upcoming features and improvements.
MIT Β© AdyaUI Team