adya-ui Svelte Themes

Adya Ui

AdyaUI is an open-source, multi-framework UI component library designed for the modern web. It offers a unified design system, reusable components, and customizable themes that work seamlessly across React, Vue, Svelte, and Vanilla JavaScript. Built from the ground up with accessibility and developer experience in mind, AdyaUI.

AdyaUI (AUI) πŸš€

AdyaUI Logo

A beautiful, accessible, and framework-agnostic UI component library

Documentation Β· Components Β· Examples Β· Playground


✨ Features

  • 🎨 Beautiful Design - Modern, sleek components inspired by Material Design
  • πŸ”§ Framework Agnostic - Works with React, Vue, Angular, Svelte, and vanilla JS
  • β™Ώ Accessible - WCAG 2.1 AA compliant with full keyboard navigation
  • 🎭 Themeable - Powerful theming system with CSS custom properties
  • πŸ“¦ Lightweight - Tree-shakeable with minimal bundle size
  • πŸŒ™ Dark Mode - Built-in dark mode support
  • πŸš€ TypeScript - Full TypeScript support with type definitions
  • πŸ“± Responsive - Mobile-first, fully responsive components
  • 🧩 Composable - Build complex UIs with simple, composable components
  • ⚑ Fast - Built on native Web Components for optimal performance

πŸ“¦ Installation

Using npm/pnpm/yarn

# Core (Web Components)
npm install @adyaui/core

# React
npm install @adyaui/react

# Vue
npm install @adyaui/vue

# Angular
npm install @adyaui/angular

# Svelte
npm install @adyaui/svelte

Using CDN

<!-- Core library -->
<script type="module" src="https://cdn.jsdelivr.net/npm/@adyaui/core"></script>

<!-- Theme (optional) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@adyaui/core/dist/theme.css">

πŸš€ Quick Start

Vanilla JavaScript / HTML

<!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>

React

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>
  );
}

Vue

<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>

Angular

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!');
  }
}

🎨 Components

Available Components

  • βœ… Button - Buttons with multiple variants
  • βœ… TextField - Input fields with validation
  • βœ… Select - Dropdown selection
  • βœ… Checkbox - Checkboxes and checkbox groups
  • βœ… Radio - Radio buttons and groups
  • βœ… Switch - Toggle switches
  • βœ… Card - Content containers
  • βœ… Dialog - Modal dialogs
  • βœ… Alert - Alert messages
  • βœ… Tooltip - Contextual tooltips
  • βœ… Progress - Progress indicators
  • βœ… Table - Data tables
  • 🚧 DatePicker - Date selection (Coming soon)
  • 🚧 Autocomplete - Search with suggestions (Coming soon)
  • 🚧 DataGrid - Advanced data tables (Coming soon)

View all components β†’


🎭 Theming

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;
}

Dark Mode

// Toggle dark mode
document.documentElement.setAttribute('data-theme', 'dark');

Learn more about theming β†’


πŸ—οΈ Project Structure

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

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

# 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

πŸ“– Documentation

Full documentation is available at adyaui.dev


πŸ—ΊοΈ Roadmap

See our detailed roadmap for upcoming features and improvements.

Current Status: v0.0.1 - Foundation Phase

  • Project setup
  • Design system
  • Build pipeline
  • Core components (In Progress)
  • Documentation site
  • Framework wrappers
  • v1.0.0 Release

πŸ“„ License

MIT Β© AdyaUI Team


πŸ™ Acknowledgments


Made with ❀️ by the AdyaUI Team

Website Β· Twitter Β· Discord

Top categories

Loading Svelte Themes