A modern, accessible, and themeable UI component library built with Vue 3 and TypeScript. Designed for building professional applications with a focus on flexibility, performance, and developer experience.
- ✨ Modern Vue 3 Components: Built with Vue 3 and Composition API
- 🎨 Themeable: Seamless light, dark, and high-contrast themes
- ♿ Accessible: WCAG 2.1 compliant components with proper ARIA attributes
- 🔍 Type-Safe: Full TypeScript support with detailed type definitions
- 🧩 Composable: Modular components designed for composition
- 📱 Responsive: Adapts to all screen sizes and device types
- 🚀 Performance: Optimized for minimal bundle size and runtime performance
pnpm add alt-ui<script setup>
import { AltButton, AltInput, AltToaster, themeProvider } from 'alt-ui';
import 'alt-ui/styles';
// Apply a theme
themeProvider.applyTheme('light'); // 'light', 'dark', 'contrast', or 'system'
</script>
<template>
<div>
<AltInput label="Username" placeholder="Enter your username" />
<AltButton class="primary">Submit</AltButton>
</div>
<AltToaster />
</template>import { toast } from "alt-ui";
toast.success("Profile saved", "Success");
toast.error("Failed to save profile", "Error");AltButton: Versatile button component with various styles and statesAltCarousel: Content carousel with customizable navigationAltCollapsableBox: Expandable hint text containerAltDialog: Modal dialog with customizable contentAltEditableTable: Interactive table with editable cellsAltEditableText: Text field that can be toggled between view and edit modesAltIcon: Flexible icon component supporting various icon librariesAltMenu: Dropdown menu with customizable itemsAltSegmentGroup: Segmented control for selecting from mutually exclusive optionsAltSpinner: Loading spinner with customizable size and colorAltTable: Data table with sorting and customization optionsAltTabs: Tab container for organizing contentAltTabsTrigger: Individual tab trigger componentAltToaster: Toast notification systemAltToggleGroup: Button group for toggling between options
AltCheckbox: Checkbox input with label and indeterminate stateAltCombobox: Combobox input with autocomplete supportAltInput: Text input with various states and validationAltRadioGroup: Radio button group with customizable itemsAltSelect: Select dropdown with customizable optionsAltSwitch: Toggle switch with labelFormField: Container for form elements with label and description
ThemeProvider: Theme management systemThemeToggle: UI component for switching between themes
Alt-UI uses CSS variables for consistent styling and theming:
// Apply a theme programmatically
import { themeProvider } from 'alt-ui';
themeProvider.applyTheme('dark');
// Or use the ThemeToggle component for UI-based switching
import { ThemeToggle } from 'alt-ui';Alt-UI is built with TypeScript and provides comprehensive type definitions:
import type { ThemeName, TableColumn } from "alt-ui";
const defaultTheme: ThemeName = "system";
const columns: TableColumn[] = [];For full documentation and examples, visit our documentation site:
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Build the library
pnpm build
# Run documentation site locally
pnpm docs:devContributions are welcome! Please feel free to submit a Pull Request.