Angular Awesome - Rules & Guidelines

Angular 19 Library Wrapping Rules for the Web Awesome (wa-*) Component Kit

Purpose

Create Angular components/directives to wrap Web Awesome web components and:

Component Categories

1. Input Components

Web Components: wa-input, wa-select, wa-textarea

Responsibilities:

2. UI Components

Examples: wa-badge, wa-tag, wa-button, wa-icon, wa-avatar

Responsibilities:

3. Pattern Components

Example: wa-page

Responsibilities:

Global Requirements (for Consumers)

Required Assets (CDN Defaults)

Include the Web Awesome CSS and JavaScript files in your application.

Optional: Add data-fa-kit-code if integrating with Font Awesome Kit.

For cherry-picking or bundling, use the setBasePath function.

Layout and Styling Utilities

Alignment Classes

wa-align-items-start, wa-align-items-end, wa-align-items-center, wa-align-items-stretch, wa-align-items-baseline

Gap Classes (for clusters, stacks, and splits)

wa-gap-0, wa-gap-3xs, wa-gap-2xs, wa-gap-xs, wa-gap-s, wa-gap-m, wa-gap-l, wa-gap-xl, wa-gap-2xl, wa-gap-3xl

Appearance Classes

.wa-accent, .wa-outlined, .wa-filled, .wa-plain

These utilities set tokens such as:

Color Variant Classes

.wa-brand, .wa-neutral, .wa-success, .wa-warning, .wa-danger

Tokens are semantic, consumed via --wa-color-fill-* and related

Layout Primitives

wa-cluster

Align items in a row with consistent spacing, wrapping when needed. Supports wa-align-items-* and wa-gap-*.

wa-stack

Arrange items in a column with spacing.

wa-flank

Two items side-by-side with one stretching to fill space. Wraps when needed.

wa-split

Distribute items across available space. Append :column or :row to control direction.

wa-frame

Responsive container with consistent proportions. Ideal for wrapping images or visuals.

wa-grid

Responsive grid layout. Use --min-column-size to control columns. wa-span-grid spans full row.

Angular Implementation Guidelines

Attribute Coercion Rules

To support template usage without bindings:

Custom Event Support