Skip to content

Angular UI Mods (AUM): Your library for custom Angular components, themes, templates, and utility services.

Notifications You must be signed in to change notification settings

rawatanimesh/aum-core

Repository files navigation

Angular UI Mods - AUM

A modern Angular component library built with NX monorepo architecture, featuring Material Design 3 theming, standalone components, and comprehensive UI components.

πŸ“š Documentation

πŸš€ Getting Started

Prerequisites

  • Node.js: v22.17.0
  • npm: Latest version
  • Angular CLI: v20.x
  • NX CLI: v21.x (optional but recommended)

Installation

# Clone the repository
git clone <repository-url>
cd aum-core

# Install dependencies
npm install

# Start development server
npm run serve
# or using NX
nx serve aum-core

πŸƒβ€β™‚οΈ Development Commands

Serve

# Development server
nx serve aum-core
# or
nx run aum-core:serve:development

Build

# Production build
nx build aum-core --configuration=production

# Development build
nx build aum-core --configuration=development

Testing

# Run tests
nx test aum-core

# Run tests with coverage
nx test aum-core --coverage

# Run linting
nx lint aum-core

πŸ“– Component Library

Available Components

Buttons & Actions

  • ButtonComponent - Multi-variant buttons with icon support
  • MenuListComponent - Dropdown menus with nested options

Form Controls

  • InputComponent - Text input with validation
  • CheckboxComponent - Checkbox with indeterminate state
  • RadioButtonComponent - Radio button groups
  • DatePickerComponent - Date selection with calendar
  • SelectBoxComponent - Single and multi-select dropdowns
  • AutocompleteComponent - Auto-completing input field

Layout & Navigation

  • PageComponent - Standard page layout with breadcrumbs
  • CardComponent - Content container with shadow
  • BreadcrumbComponent - Navigation breadcrumbs

Feedback & Dialogs

  • ConfirmationDialogComponent - Yes/No confirmation dialogs
  • GenericDialogComponent - Customizable modal dialogs
  • SnackbarService - Toast notifications

Usage Example

import { ButtonComponent } from '@aum/ui/buttons';
import { CardComponent } from '@aum/ui/layout';

@Component({
  selector: 'app-example',
  standalone: true,
  imports: [ButtonComponent, CardComponent],
  template: `
    <aum-card>
      <div card-body>
        <h2>Welcome to AUM UI</h2>
        <aum-button type="filled" value="Get Started" (buttonClick)="handleClick()"> </aum-button>
      </div>
    </aum-card>
  `,
})
export class ExampleComponent {
  handleClick() {
    console.log('Button clicked!');
  }
}

🎨 Theming

Generate Custom Theme

npx nx g @angular/material:theme-color --project=aum-core

Default Theme Colors:

  • Primary: #6E57E0 (Purple)
  • Secondary: #ffffff (White)
  • Error: #DF0101 (Red)

Theme Builder: Material Theme Builder

Using Theme Variables

.my-component {
  color: var(--mat-sys-on-surface);
  background-color: var(--mat-sys-surface);
  border: 1px solid var(--mat-sys-outline-variant);
}

πŸ“ Project Structure

aum-core/
β”œβ”€β”€ apps/aum-core/              # Main application (lightweight)
β”œβ”€β”€ libs/
β”‚   β”œβ”€β”€ aum/                    # Core AUM libraries (prefix: aum)
β”‚   β”‚   β”œβ”€β”€ ui/                 # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ theme/              # Styles, themes, assets
β”‚   β”‚   β”œβ”€β”€ utils/              # Services, interfaces, models
β”‚   β”‚   └── templates/          # Template components
β”‚   └── modules/                # App modules (prefix: aum-modules)
β”‚       β”œβ”€β”€ dashboard/          # Dashboard feature module
β”‚       └── playground/         # Component playground
└── docs/                       # Documentation files

πŸ› οΈ Technology Stack

  • Angular 20 - Modern framework with standalone components
  • NX 21 - Monorepo tooling and build system
  • Material Design 3 - Consistent theming system
  • TypeScript 5.8 - Type safety and modern JavaScript features
  • RxJS 7.8 - Reactive programming
  • Jest 29 - Testing framework

πŸ“– Additional Resources

Learning Resources

Design Resources

🀝 Contributing

  1. Read the Best Practices Guide
  2. Understand the Architecture
  3. Follow the development workflow
  4. Test your changes in both light and dark modes
  5. Submit a pull request with clear description

πŸ“„ License

MIT License - see LICENSE file for details.


Quick Start: npm install && nx serve aum-core

For detailed information, see our documentation above.

About

Angular UI Mods (AUM): Your library for custom Angular components, themes, templates, and utility services.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published