@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; } }