Angular Utility-Bibliothek | ng-hub-ui-utils

Angular Utility-Bibliothek mit Pipes, Fokusmanagement, Overlays, Transitions und Übersetzungs-Helfern, die von wiederverwendbaren UI-Komponenten gemeinsam genutzt werden.

API-Referenz

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

NameTypStandardBeschreibung
HubTranslationServiceService-Injizierbarer Service zur Verwaltung von Übersetzungen. Methoden: getTranslation(), setTranslations()
OverlayServiceService-Service zum programmatischen Erstellen und Verwalten von Overlays
PopupService<T>Service-Vereinfachter Service zum Erstellen von Popup-Elementen
HubTooltipDirectiveDirective-Direktive ([hubTooltip]), die bei Hover oder Fokus einen positionierten, thematisierbaren Tooltip anzeigt. Eingaben: hubTooltip (Text), hubTooltipPlacement, hubTooltipDelay, hubTooltipOffset. Dank der präfigierten Namen kann sie sich ein Element mit Direktiven teilen, die ein eigenes placement deklarieren, etwa [hubDropdown].

Outputs

Reagiere darauf, was utils tut — 7 Events, an die du deine Logik anknüpfen kannst.

NameTypBeschreibung
TranslatePipePipeÜbersetzt einen Schlüssel mithilfe des HubTranslationService. Verwendung: {{ "key" | translate }}
GetPipePipeRuft den Wert einer verschachtelten Eigenschaft ab. Verwendung: {{ object | get:"path.to.property" }}
IsStringPipePipePrüft, ob der Wert ein String ist. Verwendung: {{ value | isString }}
IsObjectPipePipePrüft, ob der Wert ein Objekt ist. Verwendung: {{ value | isObject }}
IsObservablePipePipePrüft, ob der Wert ein Observable ist. Verwendung: {{ value | isObservable }}
UcfirstPipePipeSchreibt den ersten Buchstaben groß. Verwendung: {{ "hello" | ucfirst }} → "Hello"
UnwrapAsyncPipePipeEntpackt Observable- oder Promise-Werte in Templates

Templates

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

NameBeschreibungBeispiel
hubFocusTrap()Fängt den Tastaturfokus innerhalb eines Elements ein. Nützlich für Modals und Dialoge.hubFocusTrap(zone, element, stopFocusTrap$, refocusOnClick)
interpolateString()Ersetzt {{ placeholders }} durch Werte aus einem ObjektinterpolateString("Hello {{name}}", { name: "World" }) → "Hello World"
getValue()Ruft eine verschachtelte Eigenschaft mithilfe der Punktnotation abgetValue(obj, "user.profile.name")
equals()Tiefer Gleichheitsvergleich für Objekte und Arraysequals({ a: 1 }, { a: 1 }) → true
hubAnchorToViewportSetzt eine Box auf der bevorzugten Seite an einen Anker, klappt nur dann auf die Gegenseite, wenn diese Seite sie nicht fasst und die andere mehr Platz hat, und hält sie auf der Querachse fest.hubAnchorToViewport({ anchor, box, viewport, side: 'block-start', offset: 8 }) → { x, y, side, flipped }
hubViewportOfLiest das Sichtfenster über die eigene View des Elements; `null`, wo es keine gibt, etwa beim Server-Rendering.hubViewportOf(element) → { width, height } | null
hubFitsInViewportOb eine Box dieser Größe an diesem Punkt vollständig im Sichtfenster liegt, nachdem der Rand abgezogen ist.hubFitsInViewport({ x, y }, { width, height }, viewport, 8) → boolean
hubClampToViewportZieht eine Box zurück ins Sichtfenster, ohne sie weiter zu bewegen als nötig, und bevorzugt die nahe Kante, wenn sie größer als das Fenster ist.hubClampToViewport({ x, y }, { width, height }, viewport, 8) → { x, y }
hubOppositeSideDie Seite genau gegenüber dem Anker — der einzige sinnvolle Ausweg für eine Seite, die nicht passt.hubOppositeSide('inline-start') → 'inline-end'
hubToAnchorSide / hubToPhysicalSideFührt eine physische Kante über die logische Achse hin und zurück, damit eine in `top` / `bottom` / `left` / `right` geschriebene API unter RTL ihren Sinn behält, während das Umklappen nur einmal durchdacht wird.hubToAnchorSide('left', true) → 'inline-end'; hubToPhysicalSide('inline-end', true) → 'left'
HubAnchorOptions / HubAnchoredPositionDie Typen, die der Löser entgegennimmt und zurückgibt; lauter schlichte Zahlen, sodass sich die Arithmetik ohne Layout-Engine prüfen lässt.HubAnchorRect · HubAnchorSide · HubPhysicalSide · HubAnchorAlign · HubViewportSize · HubBoxSize · HubPoint