@namespace LANCommander.UI.Components
@ChildContent
@code { [Parameter] public required RenderFragment ChildContent { get; set; } [Parameter] public EventCallback OnClick { get; set; } [Parameter] public EventCallback OnContextMenu { get; set; } [Parameter] public EventCallback OnDoubleClick { get; set; } [Parameter] public EventCallback OnMouseDown { get; set; } [Parameter] public EventCallback OnMouseEnter { get; set; } [Parameter] public EventCallback OnMouseLeave { get; set; } [Parameter] public EventCallback OnMouseMove { get; set; } [Parameter] public EventCallback OnMouseOut { get; set; } [Parameter] public EventCallback OnMouseUp { get; set; } [Parameter] public Cursor Cursor { get; set; } = Cursors.Auto; [Parameter] public bool Disabled { get; set; } [Parameter] public string? Class { get; set; } [Parameter] public string? Style { get; set; } string _cssClass = string.Empty; string _cssStyle = string.Empty; protected override Task OnParametersSetAsync() { _cssClass = new ClassBuilder() .Add("mouse-area") .Add(Class) .If(() => Disabled, "disabled") .Build(); _cssStyle = new StyleBuilder() .Add("cursor", Cursor.Value) .Add(Style) .Build(); return base.OnParametersSetAsync(); } }