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