A lightweight, zero-dependency Angular tab strip component for MemberJunction applications. Provides dynamic tab management with closeable tabs, scroll overflow handling, context menus, and programmatic tab control.
Installation
npminstall@memberjunction/ng-tabstrip
Overview
The tab strip renders a row of tab headers with corresponding body panels. It handles overflow with horizontal scroll buttons, supports closeable tabs with cancelable close events, and provides a rich event system for tab lifecycle management. Unlike Kendo UI tabs, this component has no external dependencies beyond Angular.
flowchart TD
subgraph TabStrip["MJTabStripComponent"]
A["Tab Headers (scrollable)"]
A --> B["MJTabComponent 1"]
A --> C["MJTabComponent 2"]
A --> D["MJTabComponent N"]
end
subgraph Bodies["Tab Bodies"]
E["MJTabBodyComponent 1"]
F["MJTabBodyComponent 2"]
G["MJTabBodyComponent N"]
end
subgraph Events["Event System"]
H["BeforeTabSelected (cancelable)"]
I["TabSelected"]
J["BeforeTabClosed (cancelable)"]
K["TabClosed (with done callback)"]
L["TabContextMenu"]
end
B --> E
C --> F
D --> G
TabStrip --> Events
style TabStrip fill:#2d6a9f,stroke:#1a4971,color:#fff
style Bodies fill:#2d8659,stroke:#1a5c3a,color:#fff
style Events fill:#7c5295,stroke:#563a6b,color:#fff