mcpField
A
aquila

aquila

github.com/allianzDevelopment251161 installsUpdated 1d ago
Repository

About aquila

Aquila is the Angular component library for the Allianz Design System, for developers building interfaces with Angular v19+. It uses standalone components and provides components and usage guidance for forms, navigation, layout, and feedback.

Key features

  1. 01Standalone Angular components
  2. 02Form and validation components
  3. 03Navigation and interaction components
  4. 04Responsive 12-column grid
  5. 05Component import and usage guidance

Use cases

  1. 01Build Angular forms and validation interfaces
  2. 02Implement navigation, dialogs, and feedback
  3. 03Arrange responsive layouts across breakpoints
  4. 04Consult component API docs in a project

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/allianz/ng-aquila --skill aquila

After installing, type/aquilain Claude Code to confirm it loaded.

Details

From the project README

Aquila – Angular Brand Kit Component Library

Aquila (open source) / Angular Brand Kit (formerly NDBX) is the Allianz Design System component library for Angular. Use modern Angular (v19+) patterns: standalone components, signals, new control flow (@if, @for), inject(), etc.

Import Rules

Aquila components are standalone. Import the component directly:

import { NxButtonComponent } from '@allianz/ng-aquila/button';
import { NxFormfieldComponent } from '@allianz/ng-aquila/formfield';
import { NxInputDirective } from '@allianz/ng-aquila/input';

@Component({
  imports: [NxButtonComponent, NxFormfieldComponent, NxInputDirective],
})

Import path pattern: @allianz/ng-aquila/{component-name}

Aquila-Specific Rules

  • Never use NxInputDirective without wrapping <input nxInput> in <nx-formfield>
  • Use <nx-error nxFormfieldError> for validation messages inside formfields
  • Always set type="button" on <button nxButton> to prevent accidental form submission
  • Prefer Reactive Forms with Aquila form components
  • Do not use inline CSS styles; rely on Aquila's built-in styling

Formfield with Validation (Reactive Forms)

<form [formGroup]="form">
  <nx-formfield label="Email">
    <input nxInput formControlName="email" type="email" />
    @if (form.controls.email.errors) {
      <nx-error nxFormfieldError>Please enter a valid email</nx-error>
    }
  </nx-formfield>
</form>

Dropdown

<nx-formfield label="Country">
  <nx-dropdown formControlName="country">
    <nx-dropdown-item value="DE">Germany</nx-dropdown-item>
    <nx-dropdown-item value="CH">Switzerland</nx-dropdown-item>
    <nx-dropdown-item value="AT">Austria</nx-dropdown-item>
  </nx-dropdown>
</nx-formfield>

Modal Dialog

import { NxDialogService } from '@allianz/ng-aquila/modal';

const modalRef = inject(NxDialogService).open(MyDialogComponent);
modalRef.afterClosed().subscribe(result => { /* handle result */ });

Grid System

12-column responsive grid. nxCol accepts up to 7 comma-separated breakpoint values
in order: tiny, small, medium, large, xlarge, 2xlarge, 3xlarge.
If fewer than 7 values are provided, the last one repeats for the remaining breakpoints
(e.g. nxCol="12,8" → 12,8,8,8,8,8,8).

<div nxLayout="grid">
  <div nxRow>
    <div nxCol="12,12,6">Left</div>
    <div nxCol="12,12,6">Right</div>
  </div>
</div>

Most Used Components

ComponentSelector
formfieldnx-formfield
inputinput[nxInput]
buttonbutton[nxButton]
iconnx-icon
dropdownnx-dropdown
checkboxnx-checkbox
grid[nxLayout]
headline[nxHeadline]
copytext[nxCopytext]
linknx-link
accordionnx-accordion
popover[nxPopoverTriggerFor]
badgenx-badge
datefieldinput[nxDatefield]
modalnx-modal
messagenx-message
data-displaynx-data-display
table[nxHeaderCell]
tabsnx-tab
listul[nxList]
radio-togglenx-radio-toggle
tooltip[nxTooltip]
switchernx-switcher
spinnernx-spinner
paginationnx-pagination

Find Components by Use Case

  • form: autocomplete, checkbox, circle-toggle, code-input, datefield, dropdown, file-uploader, formfield, input, natural-language-form, phone-input, radio-toggle, rating, slider, switcher, timefield
  • navigation: breadcrumb, header, menu, tabs, pagination
  • table: comparison-table, dynamic-table, table
  • feedback: badge, indicator, message, modal, notification-panel, progress-stepper, progressbar, spinner, tooltip
  • layout: accordion, card, footer, grid, sidepanel, small-stage, toolbar
  • overlay: modal, overlay, popover
  • media: avatar, icon, image, video
  • interaction: action, button, link, page-search, signal-button
  • selection: checkbox, circle-toggle, dropdown, radio-toggle, taglist

Detailed API

For full component API (inputs, outputs, methods) read the component docs in the installed package of the project: typically node_modules/@allianz/ng-aquila/mcp/generated/components/{component-name}.md or in a similar path depending on project setup. Fallback: run a glob search with **/mcp/generated/**/.

Comments

Markdown supported