39 lines
949 B
Plaintext
Raw Normal View History

2025-01-24 19:17:26 -03:00

<div class="toggle-container">
<label class="switch" title="Cambiar tema visual">
<input type="checkbox" class="switch" aria-label="Activar tema oscuro" @bind=ToggleState />
2025-01-24 19:17:26 -03:00
<span class="slider round"></span>
</label>
@if (!string.IsNullOrEmpty(Caption))
{
<span class="toggle-label">@Caption</span>
}
<span class="toggle-icon">
2025-01-24 19:17:26 -03:00
@ChildContent
</span>
2025-01-24 19:17:26 -03:00
</div>
@code {
[Parameter]
public RenderFragment? ChildContent { get; set; }
[Parameter]
public EventCallback<bool> ToggleStateChanged { get; set; }
[Parameter]
public string Caption { get; set; } = string.Empty;
private bool _value;
[Parameter]
public bool ToggleState
{
get { return _value; }
set
{
if (_value != value)
{
_value = value;
ToggleStateChanged.InvokeAsync(_value);
}
}
}
}