Angular Progress, Meter & Ring | ng-hub-ui-metrics

Schreibgeschützte Angular-Metrik-Primitive — ein linearer Fortschrittsbalken, ein abgestufter Meter und eine kreisförmige Ringanzeige —, angetrieben von Design-System-Token mit vollständiger ARIA-Semantik.

API-Referenz

Hier ist der vollständige Vertrag für metrics: 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 metrics mit 21 Inputs ein. Binde sie wie jeden Angular-@Input.

NameTypStandardBeschreibung
hub-progress · valuenumber0Aktueller Fortschrittswert, ausgedrückt auf der [0, max]-Skala.
hub-progress · maxnumber100Obere Grenze der Fortschrittsskala.
hub-progress · indeterminatebooleanfalseStellt einen sich wiederholenden Balken für Vorgänge unbekannter Dauer dar; lässt aria-valuenow weg.
hub-progress · colorHubMetricsColor | undefinedundefinedOptionaler Akzent, der die Farbe des Indikators bestimmt: ein einzelnes Wort (semantischer Name, registrierter Akzent oder benannte CSS-Farbe) wird auf --hub-sys-color-<name> abgebildet, mit dem Wort selbst als Fallback, während ein Literal (#hex, rgb(), oklch(), var()…) unverändert übernommen wird. Wird inline angewendet, wenn gesetzt; ohne Angabe bestimmt das Token --hub-progress-accent den Akzent.
hub-progress · sizeHubProgressSize'md'Größen-Token, das die Dicke des Balkens steuert (sm, md oder lg).
hub-progress · showValuebooleanfalseOb der gerundete Prozentwert neben dem Balken angezeigt wird.
hub-progress · labelstring''Barrierefreie Beschriftung, die beschreibt, was der Fortschrittsbalken misst.
hub-meter · valuenumber0Aktueller Messwert, ausgedrückt auf der [min, max]-Skala.
hub-meter · minnumber0Untere Grenze der Skala.
hub-meter · maxnumber1Obere Grenze der Skala.
hub-meter · lownumber | undefinedundefinedObere Grenze des „low“-Bereichs; entspricht standardmäßig min, wenn nicht angegeben.
hub-meter · highnumber | undefinedundefinedUntere Grenze des „high“-Bereichs; entspricht standardmäßig max, wenn nicht angegeben.
hub-meter · optimumnumber | undefinedundefinedBevorzugter Punkt des Bereichs; entspricht standardmäßig der Mitte, wenn nicht angegeben.
hub-meter · labelstring''Barrierefreie Beschriftung, die benennt, was die Anzeige misst; role=meter erhält seinen Namen nur vom Autor, ohne sie bleibt die Anzeige namenlos.
hub-ring · valuenumber0Wert, ausgedrückt als Verhältnis 0..1 oder als Zahl 0..max.
hub-ring · maxnumber1Obere Grenze, gegen die der Wert normalisiert wird.
hub-ring · sizenumber | string | undefinedundefinedAußendurchmesser des Rings (eine Zahl wird als px interpretiert, oder eine beliebige CSS-Längenangabe); wird inline angewendet, wenn gesetzt. Ohne Angabe bestimmt das Token --hub-ring-size den Durchmesser.
hub-ring · thicknessnumber | string | undefinedundefinedStrichbreite des Rings (eine Zahl wird als px interpretiert, oder eine beliebige CSS-Längenangabe); wird inline angewendet, wenn gesetzt. Ohne Angabe bestimmt das Token --hub-ring-thickness die Strichbreite.
hub-ring · thresholdsHubRingThresholds | undefinedundefinedOptionale Farbschwellen, die den Indikator je nach Bereich umfärben (low/high).
hub-ring · showValuebooleantrueOb der gerundete Prozentwert in der Mitte angezeigt wird.
hub-ring · labelstring''Barrierefreie Beschriftung, die benennt, was der Ring bewertet; weder die projizierte Beschriftung noch der zentrierte Prozentwert können ein role=meter benennen.

Outputs

Noch keine Outputs dokumentiert.

Templates

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

NameBeschreibungBeispiel
hub-ring · <ng-content>Inhalt, der als Beschriftung in die Mitte des Rings projiziert wird und neben dem eingebauten Prozentwert (oder an dessen Stelle) erscheint. Er ist Dekoration, kein Name: Ein Element mit role="meter" wird allein vom Autor benannt — dafür gibt es die Eingabe `label`.<hub-ring [value]="0.82" [thresholds]="{ low: 0.4, high: 0.75 }" label="Quality score">Score</hub-ring>