@inherits DComponentBase @* daisyUI Swap: https://daisyui.com/components/swap/ . A label around daisyUI's hidden checkbox: clicking anywhere on it toggles the checkbox, whose state is bound to Active (@bind-Active); On shows while checked, Off otherwise. *@ @code { [Parameter] public RenderFragment On { get; set; } [Parameter] public RenderFragment Off { get; set; } [Parameter] public bool Active { get; set; } [Parameter] public EventCallback ActiveChanged { get; set; } [Parameter] public DSwapEffect Effect { get; set; } [Parameter] public bool Disabled { get; set; } /// Accessible name of the checkbox (aria-label), for swaps that show only icons. [Parameter] public string LabelText { get; set; } string CssClass => Cx("swap", EffectClass, Disabled ? "cursor-not-allowed opacity-50" : null, Class); string EffectClass => Effect switch { DSwapEffect.Rotate => "swap-rotate", DSwapEffect.Flip => "swap-flip", _ => null }; async Task OnChange(ChangeEventArgs e) { Active = e.Value is true; await ActiveChanged.InvokeAsync(Active); } }