Angular Tabs-, Pills- & Accordion-Komponente | ng-hub-ui-panels
Angular Content-Panels-Komponente, die sich als Tabs, Pills oder Accordion rendert, mit Routing, Reactive Forms, Tastaturnavigation und CSS-Variablen.
Übersicht
Warum Teams nach dieser Bibliothek suchen
Nutze diese Angular Panels-Komponente, wenn du Tabs-, Pills- und Accordion-Muster aus einer einzigen API benötigst, mit gerouteten Panels, Reactive-Forms-Bindung, Tastaturnavigation und Theming über CSS-Variablen.
Installieren
npm install ng-hub-ui-panelsSpringen zu
Ideal für
- Einstellungsseiten
- Produktdetail-Tabs
- FAQ-Accordions
- Dashboard-Bereiche
Über panels
ng-hub-ui-panels vereint Tabs, Pills und Accordion in einer einzigen standalone Angular-Komponente, die auf Signals aufbaut. Sie unterstützt geroutete Panels, Formularbindung per ControlValueAccessor, scrollbare und vertikale Leisten sowie vollständiges --hub-panels-*-Theming. Sie löst ng-hub-ui-accordion ab, dessen Accordion-Ansicht sie ersetzt, während sie den Token-Vertrag --hub-accordion-* beibehält.
Funktionsleitfäden
Visualisierungen
Eine Komponente, drei Ansichten: klassische unterstrichene Tabs, abgerundete Pills und gestapelte Accordion-Disclosure-Panels — umschaltbar über einen einzigen `type`-Input.
Beispiele:
Grundlegende Tabs
Grundlegende Tabs
Pills
Pills
Accordion-Ansicht
Accordion-Ansicht
Karten & Inhalts-Slots
Karten & Inhalts-Slots
hubPanelHeader / hubPanelFooter slots work in tabs, pills and accordion too. A single standalone <hub-panel> (no container):
hub-panel renders as a card by itself. Semantische Hinweise
Semantische Hinweise
An alert can use the same header/footer slots as a card:
Semantischer Leisten-Akzent
Semantischer Leisten-Akzent
Strip-Layout
Layouten Sie den Header-Strip passend für jede Shell: stapeln Sie ihn vertikal neben dem Inhalt, strecken Sie die Header über die gesamte Breite oder machen Sie einen überlaufenden Strip scrollbar.
Beispiele:
Vertikale Tabs
Vertikale Tabs
Ausgerichtete Tabs
Ausgerichtete Tabs
Scrollbare Tabs
Scrollbare Tabs
Panel-Verwaltung
Deaktivieren Sie einzelne Panels und lassen Sie Benutzer Panels spontan über die ✕-Schaltfläche und die Delete-Taste hinzufügen oder entfernen.
Beispiele:
Deaktivierte Panels
Deaktivierte Panels
Entfernbare & dynamische Panels
Entfernbare & dynamische Panels
Benutzerdefinierte Templates
Ersetzen Sie den Klartext-Header durch ein beliebiges Angular-Template — Icons, Badges oder interaktive Steuerelemente — über die `hubPanelHeading`-Direktive.
Beispiele:
Benutzerdefinierte Überschriftsvorlagen
Benutzerdefinierte Überschriftsvorlagen
Formularintegration
Erstklassige ControlValueAccessor-Unterstützung bindet das/die aktive(n) Panel(s) an die reaktiven und template-getriebenen Formulare von Angular.
Beispiele:
Integration reaktiver Formulare
Integration reaktiver Formulare
Mehrfachauswahl
Mit `multiple` können mehrere Panels gleichzeitig geöffnet sein. In der Accordion-Ansicht werden sie alle erweitert; in den Tabs-/Pills-Ansichten startet jeder aktive Header sein eigenes sichtbares Panel, während die folgenden inaktiven Header oberhalb dieses Panels gruppiert bleiben, bis der nächste aktive Header einen neuen Block beginnt.
Beispiele:
Mehrfachauswahl
Mehrfachauswahl
Click an inactive tab to split the layout into a new panel block. Click an active tab to merge that block back.
Mehrere vertikale Kopfzeilen
Mehrere vertikale Kopfzeilen
Each active header starts a new row-like vertical block. The blocks stack top-to-bottom, and the whole layout scrolls horizontally only when one row needs more width.
Tabs
Pills
Accordion-Optionen
Die Accordion-Ansicht unterstützt mehrere gleichzeitig erweiterte Panels und ein randloses `flush`-Layout ohne äußeres Chrome.
Beispiele:
Akkordeon Mehrfach & Flush
Akkordeon Mehrfach & Flush
Barrierefreiheit
Vollständige Tastaturnavigation (Pfeile, Home, End, Delete), Roving-Tabindex und korrekte ARIA-Rollen für die tablist- und Accordion-Disclosure-Muster.
Beispiele:
Tastaturnavigation
Tastaturnavigation
Focus a tab, then use ← → Home End. Press Delete on a removable tab to close it.
Hauptfunktionen
Letzte Änderungen
Version 22.1.0 - 6/22/26, 12:00 AM
added: New variant input on <hub-panels> selecting the semantic accent of the navigation strip (active/hover tab, active pill, active accordion header). Built-in variants (primary | success | danger | warning | info) use the exact design-system tints; any custom string is also accepted and derived with color-mix. Defaults to primary.
added: New group-accent tokens --hub-panels-accent, --hub-panels-accent-emphasis and --hub-panels-accent-subtle; the strip active/hover affordances now resolve through this single accent instead of being hard-wired to --hub-sys-color-primary*.
changed: The outer container chrome now inherits from the --hub-container-* base layer (re-base hook), so overriding a container token on a subtree re-bases the panels chrome. No visual change with default tokens.
Version 21.3.0 - 6/16/26, 12:00 AM
added: New alert appearance for a standalone <hub-panel>: appearance="alert" with a variant renders a semantic callout (role="alert").
added: New variant input (primary | success | danger | warning | info) selecting the alert colour; omit it for a neutral alert. Exported HubPanelAppearance and HubPanelVariant types.
added: New alert tokens (--hub-panels-alert-*); each variant re-points them at the --hub-sys-color-<variant>-{subtle,border-subtle,emphasis} family, so the alert inherits every theme and dark mode automatically.
Version 21.2.0 - 6/14/26, 12:00 AM
added: New card visualization (type="card"): a chromeless format with no navigation strip where every <hub-panel> is always visible and styled as a card.
added: A <hub-panel> can now be used standalone, outside any <hub-panels> container, rendering as a card on its own.
added: New content-slot directives hubPanelHeader and hubPanelFooter, rendering header/footer bands in every view, distinct from the navigational hubPanelHeading.
Version 21.1.1 - 6/12/26, 12:00 AM
added: New token: --hub-panels-header-bg, used by the tabs/pills strip background while defaulting to the panel surface.
added: New token: --hub-panels-pill-content-border-width, which controls the bordered card chrome in the pills content area.
changed: The active header background now defaults to --hub-panels-content-bg so the active tab/panel fusion stays aligned when themes retint the content surface.
changed: The pills content area is borderless by default; themes can opt back into a bordered card by overriding --hub-panels-pill-content-border-width.
Version 21.1.0 - 6/11/26, 12:00 AM
added: Multiple selection in the tabs/pills views: each open pane becomes its own bordered box placed next to the others (side by side when horizontal, stacked when vertical), with a per-pane minimum and scroll on overflow.
added: New tokens: --hub-panels-pane-min-width, --hub-panels-pane-min-height, --hub-panels-pane-gap, --hub-panels-nav-content-gap, --hub-panels-pill-gap.
fixed: Accordion content was always empty (two unselected ng-content slots); replaced with a single projection slot.
fixed: tabs and vertical tabs now render as a single bordered box around the strip and content together (not two boxes); pills gain spacing before a bordered content card.
changed: Smooth strip scrolling, not-allowed cursor on disabled headers, and full-width container.
Version 21.0.0 - 6/11/26, 12:00 AM
added: Initial release of ng-hub-ui-panels with tabs, pills and accordion visualizations.
added: ControlValueAccessor integration with single and multiple selection, bindValue and compareWith.
added: Routed panels via routerLink with route/full pathMatch and a <router-outlet> content area.
added: Keyboard navigation (arrows/Home/End/Delete), scrollable, vertical and justified strips.
added: Accordion view with multiple expansion, flush layout and an animated grid-based collapse.
added: Custom header templates through the hubPanelHeading directive and full --hub-panels-* theming.
changed: Supersedes ng-hub-ui-accordion; the accordion view honours the --hub-accordion-* token contract for theme compatibility.