This UI component creates a bordered panel structure. It displays a label, optional help text, and the provided child content inside a defined window.
@namespace CitySim.DesignSystem
@using Sandbox.UI
@inherits Panel
<root class="plotter-field">
@if ( !string.IsNullOrEmpty( Label ) ) { <div class="plotter-field-label">@(GameText.Plain(Label))</div> }
<div class="plotter-field-window">@ChildContent</div>
@if ( !string.IsNullOrEmpty( Help ) ) { <div class="plotter-field-help">@(GameText.Plain(Help))</div> }
</root>
@code
{
/// <summary>Provide the actual input or value as child content; this is a layout, not an input control.</summary>
[Parameter] public new RenderFragment ChildContent { get; set; }
[Parameter] public string Label { get; set; }
[Parameter] public string Help { get; set; }
protected override int BuildHash() => HashCode.Combine(GameText.LanguageCode, HashCode.Combine( Label, Help ));
}