@if (IsOpen)
{
@Title
@ChildContent
}
@code{
[Parameter] public bool IsOpen { get; set; }
[Parameter] public EventCallback IsOpenChanged { get; set; }
[Parameter][EditorRequired] public string Title { get; set; } = default!;
[Parameter] public string ConfirmText { get; set; } = "Confirm";
[Parameter] public string ConfirmClass { get; set; } = "bg-emerald-600 hover:bg-emerald-500";
[Parameter] public RenderFragment? ChildContent { get; set; }
[Parameter][EditorRequired] public EventCallback OnConfirm { get; set; }
async Task Close()
{
IsOpen = false;
await IsOpenChanged.InvokeAsync(false);
}
async Task Confirm()
{
await OnConfirm.InvokeAsync();
await Close();
}
}