Skip to content

bhaimicrosoft/angular-superui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

164 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽจ Angular SuperUI v2.0.3

The Modern Angular UI Component Library That Developers Love

NPM Version CLI Version Downloads GitHub Stars

โ˜• Support This Project

Buy Me A Coffee

๐Ÿš€ The Modern Angular UI Component Library

Beautiful โ€ข Accessible โ€ข Type-Safe โ€ข Zero External Dependencies

Angular SuperUI Tailwind CSS v4 TypeScript Angular 17+


โœจ What is Angular SuperUI?

Angular SuperUI is a comprehensive, modern, and accessible Angular UI component library that transforms how you build Angular applications. Built with Tailwind CSS v4, TypeScript, and Angular 17+ Signals, it provides 43 production-ready components + 15 UI blocks with local-first architecture.

๐ŸŽฏ Why Angular SuperUI is the Best Choice for Your Project?

๐Ÿ”ฅ Local-First Architecture - No external NPM dependencies, components live directly in your project
โšก Smaller Bundles - Tree-shakable components, only install what you use
๐ŸŽจ Stunning Design System - Modern, beautiful components with built-in dark mode
๐Ÿ› ๏ธ CLI-Powered Development - Effortless installation, updates, and component management
๐Ÿ“ฑ Mobile-First Responsive - Perfect on phones, tablets, desktops, and ultra-wide screens
โ™ฟ Accessibility Champion - WCAG AA compliant, full ARIA support, keyboard navigation
๐ŸŽญ Fully Customizable - Easy theming, custom colors, spacing, and component variants
๐Ÿš€ Modern Angular - Built for Angular 17+ with signals, standalone components, and modern APIs
๐Ÿ”’ Type-Safe Everything - Full TypeScript support with comprehensive IntelliSense
โš™๏ธ Zero Config Setup - Works out of the box with sensible defaults
๐ŸŽช Interactive Playground - Live demo with 43+ component examples
๐Ÿ“š Comprehensive Docs - Detailed API reference, examples, and best practices

๐Ÿ† Perfect for:

  • โœ… Enterprise Applications - Scalable, maintainable component architecture
  • โœ… Rapid Prototyping - Quick setup with beautiful defaults
  • โœ… Design Systems - Consistent, reusable component patterns
  • โœ… SaaS Products - Professional UI that users love
  • โœ… Admin Dashboards - Rich data displays and form components
  • โœ… E-commerce Sites - Product displays, forms, and user interfaces
  • โœ… Portfolio Sites - Showcase your work with stunning components

๐Ÿš€ Quick Start

๐ŸŒŸ First, Check Out Our Live Demo! ๐ŸŒŸ

๐ŸŽฎ Experience Angular SuperUI Live ๐ŸŽฎ

Live Demo

See all 43 components + 15 blocks in action with dark mode, mobile responsiveness, and interactive examples!


1๏ธโƒฃ Install the CLI

npm install -g ngsui-cli

2๏ธโƒฃ Initialize Your Project

ngsui-cli init

3๏ธโƒฃ Add Components

# Add specific components
ngsui-cli add accordion alert avatar badge button card carousel checkbox collapsible theme-switcher

# Add all components
ngsui-cli add --all

# List available components
ngsui-cli list

4๏ธโƒฃ Start Building

import { Component } from '@angular/core';
import { 
  Accordion, 
  AccordionItem, 
  AccordionTrigger, 
  AccordionContent 
} from '@lib/accordion';
import { 
  Alert, 
  AlertTitle, 
  AlertDescription, 
  AlertIcon 
} from '@lib/alert';
import { 
  AlertDialogComponent, 
  AlertDialogHeaderComponent, 
  AlertDialogFooterComponent, 
  AlertDialogTitleComponent, 
  AlertDialogDescriptionComponent, 
  AlertDialogActionComponent, 
  AlertDialogCancelComponent 
} from '@lib/alert-dialog';
import { AspectRatioComponent } from '@lib/aspect-ratio';
import { 
  Avatar, 
  AvatarImage, 
  AvatarFallback 
} from '@lib/avatar';
import { Badge } from '@lib/badge';
import { 
  BreadcrumbComponent,
  BreadcrumbListComponent,
  BreadcrumbItemComponent,
  BreadcrumbLinkComponent,
  BreadcrumbPageComponent,
  BreadcrumbSeparatorComponent,
  BreadcrumbEllipsisComponent
} from '@lib/breadcrumb';
import { ButtonComponent } from '@lib/button';
import { CalendarComponent } from '@lib/calendar';
import { 
  CardComponent,
  CardHeaderComponent,
  CardTitleComponent,
  CardDescriptionComponent,
  CardContentComponent,
  CardFooterComponent
} from '@lib/card';
import { Carousel } from '@lib/carousel';
import { CheckboxComponent } from '@lib/checkbox';
import { ThemeSwitcher } from '@lib/theme-switcher';

@Component({
  standalone: true,
  imports: [
    Accordion, AccordionItem, AccordionTrigger, AccordionContent,
    Alert, AlertTitle, AlertDescription, AlertIcon,
    AlertDialogComponent, AlertDialogHeaderComponent, AlertDialogFooterComponent, 
    AlertDialogTitleComponent, AlertDialogDescriptionComponent, AlertDialogActionComponent, AlertDialogCancelComponent,
    AspectRatioComponent,
    Avatar, AvatarImage, AvatarFallback,
    Badge,
    BreadcrumbComponent, BreadcrumbListComponent, BreadcrumbItemComponent, 
    BreadcrumbLinkComponent, BreadcrumbPageComponent, BreadcrumbSeparatorComponent, BreadcrumbEllipsisComponent,
    ButtonComponent,
    CalendarComponent,
    CardComponent, CardHeaderComponent, CardTitleComponent, 
    CardDescriptionComponent, CardContentComponent, CardFooterComponent,
    Carousel,
    CheckboxComponent,
    ThemeSwitcher
  ],
  template: `
    <!-- Card Example -->
    <CardComponent class="max-w-md mx-auto">
      <CardHeaderComponent>
        <div class="flex items-center gap-3 mb-4">
          <Avatar>
            <AvatarImage src="https://github.com/shadcn.png" alt="User" />
            <AvatarFallback>JD</AvatarFallback>
          </Avatar>
          <div>
            <CardTitleComponent>Welcome back!</CardTitleComponent>
            <CardDescriptionComponent>Ready to build something amazing?</CardDescriptionComponent>
          </div>
        </div>
      </CardHeaderComponent>
      
      <CardContentComponent>
        <!-- Button Examples -->
        <div class="flex gap-2 mb-6">
          <ButtonComponent>Get Started</ButtonComponent>
          <ButtonComponent variant="outline">Learn More</ButtonComponent>
          <ButtonComponent variant="ghost" size="sm">
            <Badge variant="secondary" class="mr-2">New</Badge>
            Features
          </ButtonComponent>
        </div>

        <!-- Alert Example -->
        <Alert variant="success" class="mb-6">
          <AlertIcon>
            <svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 
                    d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
            </svg>
          </AlertIcon>
      <div class="flex-1">
        <AlertTitle>Welcome to Angular SuperUI! ๐ŸŽ‰</AlertTitle>
        <AlertDescription>
          You're ready to build amazing user interfaces.
        </AlertDescription>
      </div>
    </Alert>

    <!-- Accordion Example -->
    <Accordion type="single" [collapsible]="true" class="w-full mt-6">
      <AccordionItem value="item-1">
        <AccordionTrigger>Getting Started</AccordionTrigger>
        <AccordionContent>
          Install components locally and start building immediately.
        </AccordionContent>
      </AccordionItem>
    </Accordion>
  `
})
export class AppComponent {}

๐Ÿงฉ Available Components

๐Ÿงฉ Component Showcase

Component Description Status
๐Ÿช— Accordion Collapsible content sections with single or multiple modes โœ… Available
๐Ÿšจ Alert Contextual feedback messages with 5 variants โœ… Available
๐Ÿšจ AlertDialog Modal dialogs with full accessibility and focus management โœ… Available
๐Ÿ“ AspectRatio Maintains consistent proportions for responsive content containers โœ… Available
๐Ÿ‘ค Avatar User profile image with automatic fallback support โœ… Available
๐Ÿท๏ธ Badge Status indicators and labels with 4 variants โœ… Available
๐Ÿž Breadcrumb Navigation breadcrumbs with accessibility and custom separators โœ… Available
๐Ÿ”˜ Button Interactive buttons with 9 variants and loading states โœ… Available
๐Ÿ“… Calendar Date picker and calendar widget with month/year navigation โœ… Available
๐Ÿƒ Card Flexible content container with header, content, and footer โœ… Available
๐ŸŽ  Carousel Accessible image carousel with auto-play, navigation, and pagination โœ… Available
โ˜‘๏ธ Checkbox A control that allows the user to toggle between checked and not checked โœ… Available
๐Ÿท๏ธ Chip Compact element with label, avatar, and optional close button โœ… Available
๐Ÿ—ƒ๏ธ Collapsible Expandable content sections with smooth animations and keyboard support โœ… Available
๐Ÿ”ฝ ComboBox Dropdown selection with search, multi-select, and loading states โœ… Available
๐Ÿ–ฑ๏ธ ContextMenu Right-click context menus with keyboard shortcuts and accessibility โœ… Available
๐Ÿ“Š DataTable Enterprise-grade data table with sorting, filtering, pagination, and inline editing โœ… Available
๐ŸชŸ Dialog Modal dialog windows with accessibility features and focus management โœ… Available
๐Ÿ“„ Drawer Flexible drawer component that slides in from any side of the screen โœ… Available
โฌ‡๏ธ DropdownMenu Beautiful, accessible dropdown menu with multiple variants and advanced animations โœ… Available
๐Ÿ“ FileUpload Advanced file upload component with drag-and-drop, progress tracking, and validation โœ… Available
๐ŸŽฏ Header Navigation headers with menus, logos, and mobile support โœ… Available
๐ŸŽจ Icon SVG icon component with size variants and accessibility features โœ… Available
๏ฟฝ Input Flexible input component with multiple variants, validation states, and accessibility โœ… Available
๐Ÿ”ข InputOTP One-time password input component with multiple slots and validation โœ… Available
๏ฟฝ Menubar Horizontal menu bar with dropdown submenus and keyboard navigation โœ… Available
๐Ÿ“„ Pagination Pagination component with customizable page size and navigation controls โœ… Available
๐Ÿ’ฌ Popover A floating overlay that displays content relative to a trigger element โœ… Available
๐Ÿ“Š Progress Progress indicator component with customizable appearance and animation โœ… Available
๐Ÿ”˜ RadioGroup Radio button group component with accessible selection and validation โœ… Available
โญ Rating Interactive star rating component with hover effects and customizable appearance โœ… Available
๐Ÿ”ฝ Select A flexible select dropdown component with search and multi-select capabilities โœ… Available
๐Ÿ“ฑ Sidebar Responsive navigation sidebar with animations, keyboard navigation, and flexible content โœ… Available
๐Ÿ’€ Skeleton Loading placeholder components with customizable shapes and animations โœ… Available
๐ŸŽš๏ธ Slider Interactive slider component for single values and ranges with accessibility support โœ… Available
โณ Spinner Loading spinner component with multiple variants and animations โœ… Available
๐Ÿ“‹ Stepper Multi-step navigation component with progress tracking and validation support โœ… Available
๐Ÿ“‘ Tabs Tabbed interface component with keyboard navigation and accessibility support โœ… Available
๐Ÿ“„ Textarea Multi-line text input component with auto-resize and validation states โœ… Available
๐ŸŒ“ ThemeSwitcher Toggle between light, dark, and system themes with localStorage persistence โœ… Available
๐Ÿ“ข Toast Toast notification component with multiple variants and auto-dismiss functionality โœ… Available
๐Ÿ”€ Toggle Switch component for boolean state with accessibility and animations โœ… Available
๐Ÿ”ง Toolbar Toolbar component with grouped actions and responsive layout โœ… Available
๐Ÿ’ก Tooltip Tooltip component with configurable positioning and hover/focus triggers โœ… Available

๐Ÿงฑ UI Blocks (10 Total)

๐Ÿงฑ Block Showcase

Block Description Status
๐Ÿฆธ Hero Section Stunning hero sections with CTAs, images, and animations โœ… Available
๐Ÿ“Š Stats Counter Animated statistics display with countup effects โœ… Available
๐Ÿ’Ž Feature Grid Feature showcase with icons, descriptions, and layouts โœ… Available
๐Ÿƒ Feature Card Individual feature cards with icons and descriptions โœ… Available
๐Ÿ’ฌ Testimonial Customer testimonials with avatars and ratings โœ… Available
๐Ÿ’ฐ Pricing Cards Pricing tables with features, CTAs, and highlighting โœ… Available
๐Ÿ‘ฅ Team Grid Team member showcase with social links and roles โœ… Available
๐Ÿ”‘ Auth Forms Login, register, and password reset forms โœ… Available
๐ŸŽฏ Header Navigation headers with menus, logos, and mobile support โœ… Available
๐Ÿฆถ Footer Footer sections with links, social icons, and company info โœ… Available

๐ŸŽฏ CLI Commands

๐Ÿ“‹ List Available Components

ngsui-cli list

โž• Add Components

# Add specific components
ngsui-cli add accordion alert card aspect-ratio

โš™๏ธ Initialize Project

# Initialize with default settings
ngsui-cli init

๐Ÿ’ซ Component Features

๐Ÿช— Accordion Component

  • Multiple Modes: Single or multiple items open
  • Accessibility: Full WAI-ARIA compliance
  • Keyboard Navigation: Arrow keys, Home/End, Enter/Space
  • Smooth Animations: Tailwind CSS powered transitions
  • Screen Reader Support: Proper announcements and labeling

๐Ÿšจ Alert Component

  • 5 Variants: Default, Destructive, Warning, Success, Info
  • Flexible Layout: Icon + Title + Description structure
  • ARIA Live Regions: Automatic screen reader announcements
  • Tailwind CSS v4: Modern utility-first styling
  • Semantic Colors: Built-in color schemes for each variant

๐Ÿ‘ค Avatar Component

  • 5 Sizes: From sm (32px) to 2xl (80px) with responsive scaling
  • Smart Fallbacks: Automatic fallback when images fail to load
  • Loading Timeout: 5-second timeout with graceful degradation
  • Accessibility: Proper ARIA labels and semantic roles
  • Performance: Lazy loading and optimized image handling

๐Ÿท๏ธ Badge Component

  • 4 Variants: Default, Secondary, Destructive, Outline
  • Smart ARIA Roles: Automatic role assignment based on variant (alert/status/note)
  • Interactive Links: Optional link mode with keyboard accessibility
  • Live Regions: Dynamic content announcements for screen readers
  • WCAG 2.1 AA: Full accessibility compliance with semantic roles
  • TypeScript: Complete type safety with CVA variants

๐Ÿ”˜ Button Component

  • 9 Variants: Default, Secondary, Destructive, Outline, Ghost, Link, Success, Warning, Info
  • 8 Size Options: Including icon-specific sizes (sm to xl)
  • Loading States: Built-in spinner with custom loading text support
  • Full Accessibility: ARIA attributes, keyboard navigation, screen reader support
  • Event Handling: Click, keydown, focus, and blur events with TypeScript
  • Smart Interactions: Space/Enter key support and disabled state management

๐Ÿž Breadcrumb Component

  • 7 Sub-Components: Breadcrumb, List, Item, Link, Page, Separator, Ellipsis
  • Navigation Landmarks: Semantic navigation with ARIA support
  • Router Integration: Full Angular RouterLink support with active states
  • Custom Separators: Flexible separator options (icon, text, custom)
  • Collapsed Navigation: Ellipsis support for long breadcrumb chains
  • Accessibility: WCAG 2.1 AA compliance with proper ARIA attributes
  • Event Handling: Click events with navigation data and TypeScript safety

๐Ÿšจ AlertDialog Component

  • Modal Dialog System: Full modal dialog with overlay and focus trapping
  • 7 Sub-Components: AlertDialog, Header, Footer, Title, Description, Action, Cancel
  • Full Accessibility: WCAG 2.1 AA compliance with ARIA support
  • Focus Management: Automatic focus trapping and restoration
  • Keyboard Navigation: Escape to close, Tab navigation, Enter/Space actions
  • Screen Reader Support: Live region announcements and proper labeling
  • Flexible Actions: Multiple action buttons with variants (destructive, secondary, default)
  • Prevent Close Options: Configurable overlay click and escape key behavior

๐Ÿ› ๏ธ What Makes Us Different?

Feature Angular SuperUI Traditional Libraries
Installation Local components via CLI NPM package dependency
Bundle Size Only what you use Full library in bundle
Customization Direct file editing CSS overrides/themes
Dependencies Zero runtime dependencies Package + peer dependencies
Updates Manual (full control) Automatic (breaking changes)
TypeScript Perfect integration Import/export complexity

๐Ÿ“– Documentation


๐Ÿค Contributing

We love contributions! Here's how you can help:

  1. ๐Ÿด Fork the repository
  2. ๐ŸŒฟ Create your feature branch (git checkout -b feature/amazing-feature)
  3. ๐Ÿ’ Commit your changes (git commit -m 'Add amazing feature')
  4. ๐Ÿ“ค Push to the branch (git push origin feature/amazing-feature)
  5. ๐ŸŽฏ Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

๐Ÿ’ Special Thanks

๐ŸŽจ Shadcn/UI - For the incredible design system and component architecture that inspired Angular SuperUI. This project wouldn't exist without the amazing foundation laid by shadcn's work in the React ecosystem.

๐ŸŒŸ The Angular Team - For building an amazing framework that makes component development a joy.

๐ŸŽฏ Tailwind CSS - For the utility-first CSS framework that powers our design system.

๐Ÿ’Ž The Open Source Community - For all the feedback, contributions, and support.


๐Ÿ”— Resources


โ˜• Enjoying Angular SuperUI?

Buy me a coffee to support continued development!


Made with โค๏ธ by Indranil Mukherjee

About

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

โšก