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
| Component |
Selector |
| formfield |
nx-formfield |
| input |
input[nxInput] |
| button |
button[nxButton] |
| icon |
nx-icon |
| dropdown |
nx-dropdown |
| checkbox |
nx-checkbox |
| grid |
[nxLayout] |
| headline |
[nxHeadline] |
| copytext |
[nxCopytext] |
| link |
nx-link |
| accordion |
nx-accordion |
| popover |
[nxPopoverTriggerFor] |
| badge |
nx-badge |
| datefield |
input[nxDatefield] |
| modal |
nx-modal |
| message |
nx-message |
| data-display |
nx-data-display |
| table |
[nxHeaderCell] |
| tabs |
nx-tab |
| list |
ul[nxList] |
| radio-toggle |
nx-radio-toggle |
| tooltip |
[nxTooltip] |
| switcher |
nx-switcher |
| spinner |
nx-spinner |
| pagination |
nx-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/**/.
1---2name: aquila3description: Use when working with Aquila / Angular Brand Kit (formerly Angular NDBX) components from @allianz/ng-aquila. Covers imports, usage patterns, form handling, grid layout, and component API.4---56# Aquila – Angular Brand Kit Component Library78Aquila (open source) / Angular Brand Kit (formerly NDBX) is the Allianz Design System9component library for Angular. Use modern Angular (v19+) patterns:10standalone components, signals, new control flow (`@if`, `@for`), `inject()`, etc.1112## Import Rules13Aquila components are standalone. Import the component directly:1415```ts16import { NxButtonComponent } from '@allianz/ng-aquila/button';17import { NxFormfieldComponent } from '@allianz/ng-aquila/formfield';18import { NxInputDirective } from '@allianz/ng-aquila/input';1920@Component({21 imports: [NxButtonComponent, NxFormfieldComponent, NxInputDirective],22})23```2425Import path pattern: `@allianz/ng-aquila/{component-name}`2627## Aquila-Specific Rules28- Never use `NxInputDirective` without wrapping `<input nxInput>` in `<nx-formfield>`29- Use `<nx-error nxFormfieldError>` for validation messages inside formfields30- Always set `type="button"` on `<button nxButton>` to prevent accidental form submission31- Prefer Reactive Forms with Aquila form components32- Do not use inline CSS styles; rely on Aquila's built-in styling3334## Formfield with Validation (Reactive Forms)35```html36<form [formGroup]="form">37 <nx-formfield label="Email">38 <input nxInput formControlName="email" type="email" />39 @if (form.controls.email.errors) {40 <nx-error nxFormfieldError>Please enter a valid email</nx-error>41 }42 </nx-formfield>43</form>44```4546## Dropdown47```html48<nx-formfield label="Country">49 <nx-dropdown formControlName="country">50 <nx-dropdown-item value="DE">Germany</nx-dropdown-item>51 <nx-dropdown-item value="CH">Switzerland</nx-dropdown-item>52 <nx-dropdown-item value="AT">Austria</nx-dropdown-item>53 </nx-dropdown>54</nx-formfield>55```5657## Modal Dialog58```ts59import { NxDialogService } from '@allianz/ng-aquila/modal';6061const modalRef = inject(NxDialogService).open(MyDialogComponent);62modalRef.afterClosed().subscribe(result => { /* handle result */ });63```6465## Grid System6612-column responsive grid. `nxCol` accepts up to 7 comma-separated breakpoint values 67in order: tiny, small, medium, large, xlarge, 2xlarge, 3xlarge. 68If fewer than 7 values are provided, the last one repeats for the remaining breakpoints 69(e.g. `nxCol="12,8"` → `12,8,8,8,8,8,8`).7071```html72<div nxLayout="grid">73 <div nxRow>74 <div nxCol="12,12,6">Left</div>75 <div nxCol="12,12,6">Right</div>76 </div>77</div>78```7980## Most Used Components81| Component | Selector |82|-----------|----------|83| formfield | `nx-formfield` |84| input | `input[nxInput]` |85| button | `button[nxButton]` |86| icon | `nx-icon` |87| dropdown | `nx-dropdown` |88| checkbox | `nx-checkbox` |89| grid | `[nxLayout]` |90| headline | `[nxHeadline]` |91| copytext | `[nxCopytext]` |92| link | `nx-link` |93| accordion | `nx-accordion` |94| popover | `[nxPopoverTriggerFor]` |95| badge | `nx-badge` |96| datefield | `input[nxDatefield]` |97| modal | `nx-modal` |98| message | `nx-message` |99| data-display | `nx-data-display` |100| table | `[nxHeaderCell]` |101| tabs | `nx-tab` |102| list | `ul[nxList]` |103| radio-toggle | `nx-radio-toggle` |104| tooltip | `[nxTooltip]` |105| switcher | `nx-switcher` |106| spinner | `nx-spinner` |107| pagination | `nx-pagination` |108109## Find Components by Use Case110- **form**: autocomplete, checkbox, circle-toggle, code-input, datefield, dropdown, file-uploader, formfield, input, natural-language-form, phone-input, radio-toggle, rating, slider, switcher, timefield111- **navigation**: breadcrumb, header, menu, tabs, pagination112- **table**: comparison-table, dynamic-table, table113- **feedback**: badge, indicator, message, modal, notification-panel, progress-stepper, progressbar, spinner, tooltip114- **layout**: accordion, card, footer, grid, sidepanel, small-stage, toolbar115- **overlay**: modal, overlay, popover116- **media**: avatar, icon, image, video117- **interaction**: action, button, link, page-search, signal-button118- **selection**: checkbox, circle-toggle, dropdown, radio-toggle, taglist119120## Detailed API121For full component API (inputs, outputs, methods) read the component docs in the installed package of the project:122typically `node_modules/@allianz/ng-aquila/mcp/generated/components/{component-name}.md` or in a similar path depending on project setup.123Fallback: run a glob search with `**/mcp/generated/**/`.