npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

angular-superui

v2.0.3

Published

A modern Angular UI component library with 43+ components and 15 UI blocks, built with Tailwind CSS

Readme

Angular SuperUI v2.0.3 🚀

🌟 🚀 LIVE DEMO - Interactive Component Showcase! 🌟

✨ All 43 Components + 15 Blocks • Dark Mode • Mobile Responsive • TypeScript Ready ✨

🌟 Key Features in v2.0.3
  • 43 Essential Components + 15 UI Blocks - Production-ready UI components and blocks
  • **Zero ####1. 🔘 Button17. 19. 📄24. 🖱️ ContextMenu36. 📁 FileUpload - Advanced file upload component with drag-and-drop, progress tracking, and validation - Right-click context menus with keyboard shortcutsPagination - Pagination controls with customizable page size and navigation📄 Textarea - Multi-line text input component with auto-resize and validation states- Interactive buttons with 9 variants and loading states 🚀 Core UI Components 🎯 Core UI Com17. 19. 📄24. 🖱️ ContextMenu36. 📁 FileUpload - Advanced file upload component with drag-and-drop, progress tracking, and validation - Right-click context menus with keyboard shortcutsPagination - Pagination controls with customizable page size and navigation📄 Textarea - Multi-line text input component with auto-resize and validation statesonents
  1. 🔘 Button - Interactive buttons with 9 variants and loading statesernal Dependencies** - Local-first architecture for maximum control

🎯 Live Demo 🎮 Try Now


npm version CLI version License: MIT Angular TypeScript

Buy Me A Coffee

A modern, beautiful, and accessible Angular UI component library built with Tailwind CSS and TypeScript. Angular SuperUI provides a comprehensive set of 39 essential UI components + 5 UI blocks with multiple variants, CLI-based installation, and TypeScript-first development.

🚀 📖 Complete Documentation →

🚀 Step-by-step guides for all 43 components + 10 blocks with practical examples, usage instructions, and styling tips!

🛠️ v2.0.3: 43 Components + 15 Blocks Ready

🚀 CLI Tool (Recommended)

Install components directly in your project with our enhanced CLI:

# Install CLI globally
npm install -g ngsui-cli

# Initialize project (sets up Tailwind CSS and TypeScript configs)
ngsui-cli init

# Add specific components
ngsui-cli add button card badge alert checkbox theme-switcher

# List all available components
ngsui-cli list

📦 NPM Package Installation

Install the complete component library:

```bash
ng add [email protected]
# or
npm install [email protected]

### 🌟 **Key Features in v2.0.3**

- **39 Essential Components + 5 UI Blocks** - Production-ready UI components and blocks
- **Enhanced Block System** - New Hero Section, Feature Grid, Pricing Cards, Header, and Footer blocks
- **TypeScript First** - Full type safety and IntelliSense support
- **Tailwind CSS Integration** - Utility-first styling approach
- **Angular 18+ Support** - Built for modern Angular applications

## 📦 **All 43 Components + 10 Blocks Available**

### 🎯 Core Components

- **Button** - Interactive buttons with multiple variants and loading states
- **Badge** - Status indicators and labels with color variants
- **Alert** - Display important messages and notifications
- **Aspect Ratio** - Responsive aspect ratio containers for media content
- **Card** - Flexible content containers with header, body, and footer
- **Checkbox** - Toggle controls with full accessibility support
- **Input** - Accessible and customizable input fields with validation
- **Radio Group** - Radio button groups with form integration
- **Select** - Dropdown selection with search and multi-select capabilities

### 🧭 Navigation Components

- **Breadcrumb** - Navigation hierarchy with custom separators
- **Dropdown Menu** - Contextual menu dropdowns with keyboard navigation
- **Pagination** - Navigate through large datasets with intelligent controls
- **Drawer** - Slide-out panels from screen edges
- **Sidebar** - Responsive navigation sidebar with animations and keyboard support
- **Stepper** - Multi-step navigation with progress tracking and validation

### 🖼️ Display Components

- **Avatar** - User profile pictures with fallback support
- **Carousel** - Image and content sliders with auto-play
- **Data Table** - Feature-rich table for displaying large datasets
- **Progress** - Progress indicators with accessibility
- **Skeleton** - Loading placeholders with smooth animations

### 💫 Overlay Components

- **Alert Dialog** - Modal dialogs with focus management
- **Context Menu** - Right-click context menus with accessibility
- **Dialog** - Modal windows and overlays
- **Popover** - Floating content containers with smart positioning

### 🔧 Form Components

- **Calendar** - Date picker with full keyboard navigation
- **Collapsible** - Expandable content sections with animations
- **Combobox** - Advanced dropdown with search and multi-select
- **Input OTP** - Secure one-time password input with validation
- **Slider** - Range input controls with precise value selection

### ⚙️ Utility Components

- **Accordion** - Vertically stacked interactive sections
- **Theme Switcher** - Dark/light mode toggle with smooth transitions

## 📚 **Quick Links**

- 📚 **[Component Examples →](../../docs/examples.md)** - Real-world usage examples
- 📖 **[Installation Guide →](../../docs/installation.md)** - Detailed setup instructions  
- 🔧 **[GitHub Repository →](https://github.com/bhaimicrosoft/angular-superui)** - Source code and issues

## ✨ Features

- 🛠️ **CLI Tool** - Selective component installation with ngsui
- 🎨 **31 Essential Components** - Production-ready UI component library  
- 🌈 **Multiple Variants** - Customizable styling options for all components
- 🔧 **TypeScript First** - Full type safety and excellent IntelliSense support
- ♿ **Accessible** - Built with accessibility in mind (ARIA compliant)
- 🎯 **Tree Shakable** - Import only what you need
- 🚀 **Angular 18+** - Built for modern Angular features and standalone components
- 📱 **Responsive** - Mobile-first design approach
- 📦 **Tailwind CSS** - Utility-first CSS framework integration
- 🔄 **Form Integration** - Full Angular Forms support with ControlValueAccessor

## 📦 Installation

### Option 1: CLI Tool - Selective Installation (Recommended)

Perfect for new projects or when you want to reduce bundle size:

```bash
# Install CLI globally
npm install -g ngsui-cli

# Initialize your Angular project
ngsui-cli init

# Add specific components
ngsui-cli add button card badge alert checkbox

# List all available components
ngsui-cli list

Option 2: Full Library Installation

Install the complete library:

# Using Angular CLI (recommended)
ng add angular-superui

# Or using npm
npm install angular-superui

Using npm

npm install angular-superui

Manual Setup

  1. Install the package and peer dependencies:
npm install angular-superui class-variance-authority clsx tailwind-merge
  1. Configure your styles.css for Tailwind CSS v4:
@import "tailwindcss";

@layer base {
  :root {
    --border: hsl(214.3 31.8% 91.4%);
    --input: hsl(214.3 31.8% 91.4%);
    --ring: hsl(222.2 84% 4.9%);
    --background: hsl(0 0% 100%);
    --foreground: hsl(222.2 84% 4.9%);
    --primary: hsl(222.2 47.4% 11.2%);
    --primary-foreground: hsl(210 40% 98%);
    --secondary: hsl(210 40% 96.1%);
    --secondary-foreground: hsl(222.2 47.4% 11.2%);
    --destructive: hsl(0 84.2% 60.2%);
    --destructive-foreground: hsl(210 40% 98%);
    --muted: hsl(210 40% 96.1%);
    --muted-foreground: hsl(215.4 16.3% 46.9%);
    --accent: hsl(210 40% 96.1%);
    --accent-foreground: hsl(222.2 47.4% 11.2%);
    --card: hsl(0 0% 100%);
    --card-foreground: hsl(222.2 84% 4.9%);
    --popover: hsl(0 0% 100%);
    --popover-foreground: hsl(222.2 84% 4.9%);
    --radius: 0.5rem;
  }

  .dark {
    --border: hsl(217.2 32.6% 17.5%);
    --input: hsl(217.2 32.6% 17.5%);
    --ring: hsl(212.7 26.8% 83.9%);
    --background: hsl(222.2 84% 4.9%);
    --foreground: hsl(210 40% 98%);
    --primary: hsl(210 40% 98%);
    --primary-foreground: hsl(222.2 47.4% 11.2%);
    --secondary: hsl(217.2 32.6% 17.5%);
    --secondary-foreground: hsl(210 40% 98%);
    --destructive: hsl(0 62.8% 30.6%);
    --destructive-foreground: hsl(210 40% 98%);
    --muted: hsl(217.2 32.6% 17.5%);
    --muted-foreground: hsl(215 20.2% 65.1%);
    --accent: hsl(217.2 32.6% 17.5%);
    --accent-foreground: hsl(210 40% 98%);
    --card: hsl(222.2 84% 4.9%);
    --card-foreground: hsl(210 40% 98%);
    --popover: hsl(222.2 84% 4.9%);
    --popover-foreground: hsl(210 40% 98%);
  }

  body {
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
  }
}
  1. Import components in your Angular app:
import { Component } from '@angular/core';
import { 
  Button, 
  Avatar, 
  Alert, 
  Badge, 
  Card, 
  CardHeader, 
  CardTitle, 
  CardContent,
  Checkbox,
  ThemeSwitcher 
} from 'angular-superui';

@Component({
  selector: 'app-example',
  standalone: true,
  imports: [
    Button, 
    Avatar, 
    Alert, 
    Badge, 
    Card, 
    CardHeader, 
    CardTitle, 
    CardContent,
    Checkbox,
    ThemeSwitcher
  ],
  template: `
    <div class="p-6 space-y-6">
      <!-- Theme Switcher -->
      <lib-theme-switcher></lib-theme-switcher>
      
      <!-- Welcome Card -->
      <Card class="w-96">
        <CardHeader>
          <CardTitle>Welcome to Angular SuperUI</CardTitle>
        </CardHeader>
        <CardContent>
          <!-- Avatar Component -->
          <Avatar 
            size="lg" 
            [src]="'https://github.com/shadcn.png'"
            [alt]="'User Avatar'"
            class="mb-4">
          </Avatar>

          <!-- Alert Component -->
          <Alert variant="default" class="mb-4">
            <h4 class="font-medium">Success!</h4>
            <p class="text-sm">Your component library is ready to use.</p>
          </Alert>

          <!-- Button Components -->
          <div class="flex gap-2 mb-4">
            <Button variant="default">Default</Button>
            <Button variant="secondary">Secondary</Button>
            <Button variant="outline">Outline</Button>
          </div>

          <!-- Badge Components -->
          <div class="flex gap-2 mb-4">
            <Badge variant="default">Default</Badge>
            <Badge variant="secondary">Secondary</Badge>
            <Badge variant="destructive">Important</Badge>
          </div>

          <!-- Checkbox Components -->
          <div class="flex flex-col gap-2">
            <div class="flex items-center space-x-2">
              <Checkbox [(ngModel)]="isChecked" />
              <label class="text-sm">Accept terms and conditions</label>
            </div>
            <div class="flex items-center space-x-2">
              <Checkbox variant="success" [(ngModel)]="isSubscribed" />
              <label class="text-sm">Subscribe to newsletter</label>
            </div>
          </div>
        </CardContent>
      </Card>
    </div>
  `
})
export class ExampleComponent {
  // Component logic here
  isChecked = false;
  isSubscribed = false;
}

🎨 Component Variants

Theme Switcher

A dark/light theme switcher with system preference detection:

<ThemeSwitcher />

Button Variants

Each button component supports multiple styling options:

// Basic variants
<Button variant="default">Default</Button>
<Button variant="secondary">Secondary</Button>
<Button variant="destructive">Destructive</Button>
<Button variant="outline">Outline</Button>
<Button variant="ghost">Ghost</Button>
<Button variant="link">Link</Button>

// Sizes
<Button size="sm">Small</Button>
<Button size="default">Default</Button>
<Button size="lg">Large</Button>
<Button size="icon">Icon</Button>

Badge Variants

Status and labeling options:

<Badge variant="default">Default</Badge>
<Badge variant="secondary">Secondary</Badge>
<Badge variant="destructive">Important</Badge>
<Badge variant="outline">Outline</Badge>

Alert Variants

Contextual feedback styling:

<Alert variant="default">Default message</Alert>
<Alert variant="destructive">Error message</Alert>

Checkbox Variants

Boolean input controls with multiple states:

<Checkbox [(ngModel)]="isChecked">Default checkbox</Checkbox>
<Checkbox variant="success" [(ngModel)]="isSuccess">Success checkbox</Checkbox>
<Checkbox variant="warning" [(ngModel)]="isWarning">Warning checkbox</Checkbox>
<Checkbox variant="destructive" [(ngModel)]="isError">Error checkbox</Checkbox>

<!-- Different sizes -->
<Checkbox size="sm" [(ngModel)]="isSmall">Small checkbox</Checkbox>
<Checkbox size="default" [(ngModel)]="isDefault">Default checkbox</Checkbox>
<Checkbox size="lg" [(ngModel)]="isLarge">Large checkbox</Checkbox>
<Checkbox size="xl" [(ngModel)]="isXLarge">Extra large checkbox</Checkbox>

<!-- Different states -->
<Checkbox [(ngModel)]="isChecked">Checked state</Checkbox>
<Checkbox [indeterminate]="true">Indeterminate state</Checkbox>
<Checkbox [disabled]="true" [(ngModel)]="isDisabled">Disabled state</Checkbox>

🧩 Available Components (39)

Core UI Components

  1. � Button - Interactive buttons with 9 variants and loading states
  2. 🏷️ Badge - Status indicators and labels with 4 variants
  3. 🚨 Alert - Contextual feedback messages with 5 variants
  4. 👤 Avatar - User profile images with automatic fallback support
  5. 🪗 Accordion - Collapsible content sections with single or multiple modes
  6. 📐 AspectRatio - Maintains consistent proportions for responsive content
  7. 🃏 Card - Flexible content containers with header, content, and footer
  8. ☑️ Checkbox - Boolean input control with multiple states and form integration
  9. 🔽 ComboBox - Advanced dropdown with search, multi-select, and loading states
  10. 📝 Input - Flexible input component with validation states and accessibility
  11. 🔢 InputOTP - One-time password input with multiple slots and validation
  12. 🔘 RadioGroup - Radio button group with accessible selection and validation
  13. 📊 Progress - Progress indicator with customizable appearance and animation
  14. ⭐ Rating - Interactive star rating component with hover effects and customizable appearance
  15. 🔽 Select - A flexible select dropdown component with search and multi-select capabilities
  16. 🎚️ Slider - Interactive slider component for single values and ranges with accessibility support
  17. � Textarea - Multi-line text input component with auto-resize and validation states

🧭 Navigation & Layout Components

  1. 🍞 Breadcrumb - Navigation breadcrumbs with accessibility and custom separators
  2. � Pagination - Pagination controls with customizable page size and navigation
  3. 🏠 Sidebar - Responsive navigation sidebar with animations, keyboard navigation, and flexible content
  4. 📋 Stepper - Multi-step navigation component with progress tracking and validation support
  5. 📑 Tabs - Tabbed interface component with keyboard navigation and accessibility support

💫 Overlay & Dialog Components

  1. 🚨 AlertDialog - Modal dialogs with accessibility and focus management
  2. �️ ContextMenu - Right-click context menus with keyboard shortcuts
  3. 🪟 Dialog - Modal dialog windows with accessibility features
  4. 📄 Drawer - Flexible drawer component that slides in from any side
  5. ⬇️ DropdownMenu - Beautiful dropdown menus with multiple variants
  6. 💬 Popover - Floating overlay that displays content relative to a trigger
  7. 📢 Toast - Toast notification component with multiple variants and auto-dismiss functionality
  8. 💡 Tooltip - Tooltip component with configurable positioning and hover/focus triggers

🎨 Media & Display Components

  1. 🎠 Carousel - Content slider with auto-play, navigation, and pagination
  2. 🗃️ Collapsible - Expandable content sections with smooth animations
  3. 💀 Skeleton - Loading placeholder components with customizable shapes and animations
  4. ⏳ Spinner - Loading spinner component with multiple variants and animations

📊 Data & Tables

  1. 📊 DataTable - Enterprise-grade data table with sorting, filtering, and pagination

📁 File Management

  1. � FileUpload - Advanced file upload component with drag-and-drop, progress tracking, and validation

📅 Featured Components

  1. 📅 Calendar - Advanced calendar with date range selection and time picker

⚙️ Utility Components

  1. 🌓 ThemeSwitcher - Toggle between light, dark, and system themes
  2. 🗃️ Collapsible - Expandable content sections with smooth animations and keyboard support

🖼️ Enhanced Avatar Component

The Avatar component now supports full image functionality:

// Image source with automatic fallback
<Avatar 
  size="lg" 
  [src]="'https://github.com/shadcn.png'"
  [alt]="'User Avatar'">
</Avatar>

// Custom fallback text
<Avatar [fallback]="'JD'"></Avatar>

// Auto-generated initials from alt text
<Avatar [alt]="'John Doe'"></Avatar>

// Multiple sizes
<Avatar size="sm"></Avatar>    <!-- 32px -->
<Avatar size="default"></Avatar> <!-- 40px -->
<Avatar size="lg"></Avatar>    <!-- 48px -->
<Avatar size="xl"></Avatar>    <!-- 64px -->

Features:

  • src property for image URLs
  • alt property for accessibility and initials generation
  • fallback property for custom fallback text
  • Automatic error handling for failed image loads
  • Intelligent initials generation from names
  • Modern Angular 18+ control flow syntax

📚 Advanced Examples

Simple Dashboard Layout

@Component({
  template: `
    <div class="p-6 space-y-6">
      <!-- Header with Avatar -->
      <div class="flex items-center justify-between">
        <h1 class="text-2xl font-bold">Dashboard</h1>
        <Avatar 
          size="default" 
          [src]="'https://github.com/shadcn.png'"
          [alt]="'User Avatar'">
        </Avatar>
      </div>

      <!-- Alert Notification -->
      <Alert variant="default">
        <h4 class="font-medium">Welcome back!</h4>
        <p class="text-sm">You have 3 new notifications.</p>
      </Alert>

      <!-- Action Buttons -->
      <div class="flex gap-2">
        <Button variant="default">Create</Button>
        <Button variant="secondary">Save Draft</Button>
        <Button variant="destructive">Delete</Button>
      </div>

      <!-- Status Cards -->
      <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
        <Card>
          <CardHeader>
            <CardTitle>Sales</CardTitle>
          </CardHeader>
          <CardContent>
            <div class="text-2xl font-bold">$12,345</div>
            <Badge variant="default" class="mt-2">+12%</Badge>
          </CardContent>
        </Card>
        
        <Card>
          <CardHeader>
            <CardTitle>Orders</CardTitle>
          </CardHeader>
          <CardContent>
            <div class="text-2xl font-bold">1,234</div>
            <Badge variant="secondary" class="mt-2">+8%</Badge>
          </CardContent>
        </Card>
        
        <Card>
          <CardHeader>
            <CardTitle>Users</CardTitle>
          </CardHeader>
          <CardContent>
            <div class="text-2xl font-bold">5,678</div>
            <Badge variant="destructive" class="mt-2">-3%</Badge>
          </CardContent>
        </Card>
      </div>
    </div>
  `
})
export class DashboardComponent {
  // Component logic here
}

🔧 TypeScript Support

Full TypeScript support with intelligent IntelliSense:

import type { ButtonVariant, AvatarSize } from 'angular-superui';

// Type-safe component usage
const buttonVariant: ButtonVariant = 'default';
const avatarSize: AvatarSize = 'lg';

// All components are fully typed
<Button [variant]="buttonVariant">Typed Button</Button>
<Avatar [size]="avatarSize">Typed Avatar</Avatar>

♿ Accessibility

Angular SuperUI components are built with accessibility in mind:

  • ARIA Attributes: Proper ARIA attributes and roles for screen readers
  • Keyboard Navigation: Full keyboard accessibility support
  • Semantic HTML: Uses appropriate HTML elements for better accessibility
  • Focus Management: Visible focus indicators and logical focus flow
  • High Contrast: Components work well in high contrast mode

🌙 Dark Mode

Components automatically adapt to your theme preferences:

/* Dark mode support through CSS variables */
.dark {
  --background: hsl(222.2 84% 4.9%);
  --foreground: hsl(210 40% 98%);
  /* Components automatically use these variables */
}

📄 License

MIT License - see LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please read our Contributing Guide for details.

📧 Support


Built with ❤️ by the Angular SuperUI Team