A modern, mobile-first WebUI library built with pure ES6 JavaScript and Tailwind CSS.
Aionda WebUI provides a comprehensive set of 26 UI components designed for building complex desktop applications while maintaining responsive design principles. With minimal code, you can create sophisticated interfaces that work seamlessly across devices.
- 🎯 26 Production-Ready Components - Complete component library across 7 categories
- 📱 Mobile-First - Responsive design out of the box
- ⚡ Pure ES6 - No build steps required, works directly in browsers
- 🎨 Tailwind CSS - Utility-first styling with customizable themes
- 🏗️ MVVM Architecture - Reactive data binding and state management
- 📦 Minimal Code - Simple, declarative API
- 🔧 Zero Dependencies - Self-contained, no external libraries required
- ✅ 367 Tests - Comprehensive test suite with 100% component coverage
- 📚 Auto-Generated Documentation - Complete docs with live examples
npm install @aionda/webui
Or simply via Script Tag (no npm required!):
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="dist/aionda-webui.css">
<script src="dist/aionda-webui.js"></script>
// Ready to use immediately with script tag!
const panel = new AiondaWebUI.Panel({
title: 'My Application',
width: 400,
height: 300,
collapsible: true
});
// Add a button
const button = new AiondaWebUI.Button({
text: 'Click Me',
variant: 'primary',
handler: () => alert('Hello Aionda WebUI!')
});
panel.add(button);
panel.renderTo('#app');
- Button - Multi-variant buttons with icons and states
- TextField - Text input with validation and formatting
- NumberField - Numeric input with spinners
- RichTextField - Rich text editor with enhanced color picker
- Checkbox - Boolean input with switch variants
- Radio/RadioGroup - Single selection inputs
- ComboBox - Dropdown with search and remote data
- TextArea - Multi-line text input
- DateField - Date picker input
- Panel - Container with header and collapsible body
- Window - Draggable, resizable windows with modal support
- Grid - Excel-like grid with sorting, filtering, editing
- Tree - Hierarchical data display with drag & drop
- Form - Form management with validation and layout
- Menu - Navigation menus with submenus
- MenuItem - Individual menu items with icons
- Toolbar - Action toolbars with button groups
- Toast - Temporary notification messages
- MessageBox - Modal dialogs for alerts and confirmations
- DateField - Advanced date selection
- ThemeToggle - Light/dark mode switching
- Component - Base class for all components
- EventEmitter - Event system
- Store - Data management with filtering/sorting
- I18n - Internationalization support
- SecurityUtils - XSS prevention and input sanitization
Comprehensive window system with dragging, resizing, modal dialogs, and window management.
Interactive data grid with sorting, filtering, cell editing, column resizing, and row selection.
Complete form with validation, multiple field types, and real-time event logging.
Professional rich text editor with advanced formatting capabilities and user-friendly color picker.
The enhanced color picker provides a dropdown interface with OK/Cancel buttons for better user experience, replacing the native browser color input.
RichTextField seamlessly integrates with the form system, supporting validation and standard form workflows.
Flexible toolbar configuration allows you to customize which formatting options are available.
Complex components including tree views, advanced grids, and specialized inputs.
Fundamental UI elements including buttons, panels, and basic form controls.
- 🚀 Getting Started - Installation and first steps
- 🧩 Components - Complete component reference
- ⚙️ API Reference - Core API documentation
- 💡 Examples - Working examples and patterns
- 📘 Advanced Guides - Architecture and best practices
- Auto-generated from JSDoc - Always up-to-date with source code
- Live examples with working code snippets
- Mobile-optimized documentation
- Cross-platform compatible links
// All components extend the base Component class
class MyComponent extends AiondaWebUI.Component {
createTemplate() {
return '<div class="my-component">Hello World</div>';
}
}
// Components communicate via events
button.on('click', () => {
grid.reload();
toast.show('Data refreshed!');
});
// Reactive data management
const store = new AiondaWebUI.Store({
data: userData,
sorters: [{ property: 'name', direction: 'ASC' }]
});
const grid = new AiondaWebUI.Grid({ store });
store.add(newUser); // Grid updates automatically
// Rich text editor with enhanced color picker
const richText = new AiondaWebUI.RichTextField({
fieldLabel: 'Article Content',
value: '<p>Create <strong>formatted content</strong> with ease!</p>',
height: 300,
toolbar: [
'bold', 'italic', 'underline',
'separator',
'foreColor', 'backColor', // Enhanced color picker
'separator',
'fontSize', 'fontName',
'separator',
'createLink', 'undo', 'redo'
],
validators: [
(value) => value.length > 0 || 'Content is required'
]
});
// Form integration
const form = new AiondaWebUI.Form({
fields: [
{ type: 'textfield', name: 'title', fieldLabel: 'Title' },
{ type: 'richtextfield', name: 'content', fieldLabel: 'Content', height: 200 }
]
});
// Get formatted content
console.log(richText.getValue()); // Returns HTML
console.log(richText.getTextContent()); // Returns plain text
npm test # Run all 367 tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage report
Test Coverage:
- ✅ 367 tests across 11 test suites
- ✅ 100% component coverage
- ✅ Core functionality - EventEmitter, Component, Store
- ✅ UI interactions - clicks, validation, events
- ✅ Edge cases - null handling, error conditions
node build.js
Generates:
dist/aionda-webui.js
(49.7 KB)dist/aionda-webui.min.js
(38.7 KB)
npm run docs:generate
Auto-generates documentation from JSDoc comments.
MIT License - see LICENSE for details.
- Fork the repository
- Create a feature branch
- Make changes with tests
- Update documentation
- Submit a pull request
All development phases completed:
- ✅ Phase 1: Core architecture and basic components
- ✅ Phase 2: Data components (Grid, Tree, Forms)
- ✅ Phase 3: Advanced components (Windows, Menus)
- ✅ Phase 4: Documentation and testing system
Framework is ready for production use!
Ready to build amazing UIs? Start with our Getting Started guide or explore the live examples.
Built with ❤️ by the Aionda team