@namespace Oqtane.Modules.Controls @inherits ModuleBase @foreach (TabPanel tabPanel in _tabPanels) { ActivateTabPanel(tabPanel) )> @tabPanel.Text } @ChildContent @code { // Next line is needed so we are able to add components inside [Parameter] public RenderFragment ChildContent { get; set; } public TabPanel ActiveTabPanel { get; set; } List _tabPanels = new List(); internal void AddTabPanel(TabPanel tabPanel) { _tabPanels.Add(tabPanel); if (_tabPanels.Count == 1) ActiveTabPanel = tabPanel; StateHasChanged(); } string GetButtonClass(TabPanel tabPanel) { return tabPanel == ActiveTabPanel ? "btn-primary" : "btn-secondary"; } void ActivateTabPanel(TabPanel tabPanel) { ActiveTabPanel = tabPanel; } }