From 12eaa5814ef20b0910e8d64a753378b6f6797989 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Fri, 22 May 2026 00:52:16 +1000 Subject: Initial commit --- Server.Client/Pages/Component/TabPane.razor | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Server.Client/Pages/Component/TabPane.razor (limited to 'Server.Client/Pages/Component/TabPane.razor') diff --git a/Server.Client/Pages/Component/TabPane.razor b/Server.Client/Pages/Component/TabPane.razor new file mode 100644 index 0000000..ba4a13a --- /dev/null +++ b/Server.Client/Pages/Component/TabPane.razor @@ -0,0 +1,29 @@ +@implements IDisposable + + + +@if(Parent.ActivePane == this) { + @ChildContent +} + +@code { + [CascadingParameter] + private TabContainer Parent { get; set; } + + [Parameter] + public string Title { get; set; } + + [Parameter] + public RenderFragment ChildContent { get; set; } + + protected override void OnInitialized() { + if (Parent is null) + throw new ArgumentNullException(nameof(Parent), "TabPane must exist within a TabContainer"); + + Parent.AddPane(this); + } + + public void Dispose() { + Parent.RemovePane(this); + } +} \ No newline at end of file -- cgit v1.3