Communitygithub.com

allianz/ng-aquila

À utiliser avec les composants Aquila / Angular Brand Kit d'Allianz (anciennement Angular NDBX). Couvre les imports, les schémas d'utilisation, la gestion des formulaires, la disposition en grille et l'API des composants.

Qu'est-ce que ng-aquila ?

Ce skill fournit des directives complètes pour travailler avec la bibliothèque de composants Angular Aquila (Angular Brand Kit) d'Allianz. Il guide les développeurs dans l'importation de composants autonomes, l'utilisation de modèles Angular modernes (signaux, contrôle de flux, `inject()`), et l'application des meilleures pratiques spécifiques à Aquila, telles que l'encapsulation obligatoire de `NxInputDirective` dans `<nx-formfield>` et la prévention des soumissions de formulaire accidentelles avec `type="button"`. Le skill couvre les composants essentiels comme les champs de formulaire, les listes déroulantes, les dialogues modaux et le système de grille réactive à 12 colonnes. Il comprend également une table de référence rapide des composants les plus utilisés et un index organisé par cas d'utilisation (formulaire, navigation, tableau, feedback, etc.), ce qui en fait un guide pratique pour le développement d'interfaces conformes à la charte Allianz.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/allianz/ng-aquila/tree/HEAD/skills/aquila

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Aquila – Bibliothèque de composants Angular Brand Kit

Aquila (open source) / Angular Brand Kit (anciennement NDBX) est la bibliothèque de composants du Design System Allianz pour Angular. Utilisez les schémas Angular modernes (v19+) : composants autonomes, signaux, nouveau contrôle de flux (@if, @for), inject(), etc.

Règles d'Importation

Les composants Aquila sont autonomes. Importez le composant directement :

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],
})

Motif du chemin d'importation : @allianz/ng-aquila/{nom-du-composant}

Règles spécifiques à Aquila

  • N'utilisez jamais NxInputDirective sans encapsuler <input nxInput> dans <nx-formfield>
  • Utilisez <nx-error nxFormfieldError> pour les messages de validation dans les champs de formulaire
  • Définissez toujours type="button" sur <button nxButton> pour éviter les soumissions de formulaire accidentelles
  • Préférez les formulaires réactifs avec les composants de formulaire Aquila
  • N'utilisez pas de styles CSS en ligne ; fiez-vous au style intégré d'Aquila

Champ de formulaire avec validation (formulaires réactifs)

<form [formGroup]="form">
  <nx-formfield label="Email">
    <input nxInput formControlName="email" type="email" />
    @if (form.controls.email.errors) {
      <nx-error nxFormfieldError>Veuillez saisir un email valide</nx-error>
    }
  </nx-formfield>
</form>

Liste déroulante

<nx-formfield label="Pays">
  <nx-dropdown formControlName="country">
    <nx-dropdown-item value="DE">Allemagne</nx-dropdown-item>
    <nx-dropdown-item value="CH">Suisse</nx-dropdown-item>
    <nx-dropdown-item value="AT">Autriche</nx-dropdown-item>
  </nx-dropdown>
</nx-formfield>

Dialogue modal

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

const modalRef = inject(NxDialogService).open(MyDialogComponent);
modalRef.afterClosed().subscribe(result => { /* gérer le résultat */ });

Système de grille

Grille réactive à 12 colonnes. nxCol accepte jusqu'à 7 valeurs de points de rupture séparées par des virgules dans l'ordre : tiny, small, medium, large, xlarge, 2xlarge, 3xlarge. Si moins de 7 valeurs sont fournies, la dernière se répète pour les points de rupture restants (par ex. nxCol="12,8" → 12,8,8,8,8,8,8).

<div nxLayout="grid">
  <div nxRow>
    <div nxCol="12,12,6">Gauche</div>
    <div nxCol="12,12,6">Droite</div>
  </div>
</div>

Composants les plus utilisés

ComposantSélecteur
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

Trouver des composants par cas d'utilisation

  • formulaire : 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
  • tableau : comparison-table, dynamic-table, table
  • feedback : badge, indicator, message, modal, notification-panel, progress-stepper, progressbar, spinner, tooltip
  • disposition : accordion, card, footer, grid, sidepanel, small-stage, toolbar
  • superposition : modal, overlay, popover
  • média : avatar, icon, image, video
  • interaction : action, button, link, page-search, signal-button
  • sélection : checkbox, circle-toggle, dropdown, radio-toggle, taglist

API détaillée

Pour l'API complète des composants (entrées, sorties, méthodes), lisez la documentation du composant dans le package installé du projet : généralement node_modules/@allianz/ng-aquila/mcp/generated/components/{nom-du-composant}.md ou dans un chemin similaire selon la configuration du projet. Solution de repli : effectuez une recherche glob avec **/mcp/generated/**/.

Skills associés