Angular Ladeanzeige & Overlay | ng-hub-ui-loading

Angular-Ladekomponente mit Spinner-, Dots-, Bars-, Pulse- und Ring-Indikatoren in den Modi inline, overlay und fullscreen, dazu ein Service für anwendungsweit blockierende Overlays.

API-Referenz

Hier ist der vollständige Vertrag für loading: alles, was du binden, abhören, projizieren und gestalten kannst, an einem Ort gesammelt. Verdrahte, was du brauchst, und gestalte, was du willst — es ist standalone und Signals-freundlich.

Inputs

Stelle loading mit 9 Inputs ein. Binde sie wie jeden Angular-@Input.

NameTypStandardBeschreibung
mode'inline' | 'overlay' | 'fullscreen''inline'Wo der Block sitzt. `inline` nimmt am normalen Dokumentfluss teil und reserviert eigenen Platz; `overlay` wird absolut positioniert und deckt den nächsten positionierten Vorfahren ab; `fullscreen` ist am Viewport fixiert.
variant'spinner' | 'dots' | 'bars' | 'pulse' | 'ring''spinner'Welcher reine CSS-Indikator gerendert wird. Wird ignoriert, solange `image` gesetzt ist, da das Bild den eingebauten Indikator ersetzt.
imagestring | nullnullURL oder Data-URI, die statt des eingebauten Indikators gerendert wird — typischerweise eine Markenmarke. Ihre Box wird über `--hub-loading-image-size` dimensioniert.
imageAnimation'none' | 'spin' | 'pulse''none'Bewegung für `image`; ohne gesetztes Bild wirkungslos. `spin` passt zu einer radialsymmetrischen Marke, `pulse` hält eine Wortmarke aufrecht und lesbar, `none` lässt sie still.
messagestring | nullnullText unter dem Indikator und zugleich das, was die Live-Region beim Erscheinen des Blocks ankündigt. `null` rendert keine Meldung.
size'sm' | 'md' | 'lg''md'Größenstufe, die `--hub-loading-size` speist. Das Token bleibt eigenständig überschreibbar, wenn ein Layout eine Größe braucht, die die drei Stufen nicht abdecken.
colorstring | nullnullAkzent des Indikators, von `resolveHubAccent()` in den einzigen Slot `--hub-loading-accent` normalisiert. Ein bloßer Name wie `primary` löst zu einem `--hub-sys-color-*`-Token auf und folgt dem Theme; ein Hex-Wert, ein `oklch()`-Literal oder eine `var(...)`-Referenz wird unverändert übernommen. `null` belässt den Kaskaden-Standard des Tokens.
backdropbooleantrueZeichnet den durchscheinenden Schleier über dem verdeckten Inhalt. Im Modus `inline` ignoriert, der nichts verdeckt.
ariaLabelstring'Loading'Barrierefreier Name, den die Live-Region des Hosts über `role="status"` ankündigt.

Outputs

Noch keine Outputs dokumentiert.

Methoden

Steuere loading aus dem Code heraus — 5 Methoden auf der programmatischen Schnittstelle.

NameSignaturRückgabeBeschreibung
HubLoadingService.showshow(options?: HubLoadingOptions): voidvoidRegistriert einen Aufrufer und hängt das Fullscreen-Overlay ein, falls es noch nicht steht. Nur die tatsächlich übergebenen Schlüssel werden über die Anwendungsstandards gelegt, sodass verschachtelte Aufrufe sich ergänzen statt einander zurückzusetzen.
HubLoadingService.hidehide(): voidvoidEntlässt einen Aufrufer und baut das Overlay ab, sobald keiner mehr wartet. Der Zähler wird bei null gekappt, sodass ein verirrtes `hide()` ein späteres `show()` nicht wirkungslos machen kann.
HubLoadingService.hideAllhideAll(): voidvoidVerwirft alle offenen Aufrufer auf einmal und entfernt das Overlay sofort. Ein Notausstieg für Fehlerbehandlung und Routenwechsel, kein Ersatz für ausgeglichene `show()`/`hide()`-Paare.
HubLoadingService.updateupdate(options: HubLoadingOptions): voidvoidKleidet das laufende Overlay neu ein — eine Fortschrittsmeldung, die sich mitten im Vorgang ändert, ein Variantenwechsel — ohne den Referenzzähler anzutasten.
HubLoadingService.isLoadingisLoading: Signal<boolean>Signal<boolean> — true while at least one reference is heldSignal, das true ist, solange mindestens ein Aufrufer wartet. Auch beim Server-Side-Rendering sicher lesbar, wo der Zähler läuft, aber kein Overlay eingehängt wird.

Templates

Mach es zu deinem — 2 Template-Slots lassen dich eigenes Markup projizieren.

NameBeschreibungBeispiel
Standard-InhaltsslotAlles zwischen den Tags Projizierte wird unter der Meldung gerendert — eine Abbrechen-Aktion, eine Fortschrittsnotiz oder ein Hinweis, dass der Vorgang länger dauert als üblich.<hub-loading message="Importing rows"><button type="button">Cancel</button></hub-loading>
provideHubLoadingRegistriert anwendungsweite Standardwerte über das Token `HUB_LOADING_CONFIG` — Markenbild, bevorzugte Variante, übersetztes Label —, sodass `<hub-loading>` und `HubLoadingService` beide davon ausgehen und einzelne Aufrufstellen schlank bleiben.providers: [provideHubLoading({ variant: 'ring', size: 'lg' })]