Files
decePubClient/Components/Daisy/DataDisplay/DStatus.razor
T

45 lines
1.2 KiB
Plaintext
Raw Normal View History

@inherits DComponentBase
@* daisyUI Status: https://daisyui.com/components/status/ . Give it an aria-label (online, error, …). Ping stacks an
animate-ping copy under the dot, as in daisyUI's ping example; the attributes stay on the visible dot. *@
@if (Ping)
{
<span class="inline-grid *:[grid-area:1/1]">
<span class="@Cx(CssClass, "animate-ping")" aria-hidden="true"></span>
<span @attributes="AdditionalAttributes" class="@CssClass"></span>
</span>
}
else
{
<span @attributes="AdditionalAttributes" class="@CssClass"></span>
}
@code {
[Parameter] public DColor Color { get; set; }
[Parameter] public DSize Size { get; set; }
[Parameter] public bool Ping { get; set; }
string CssClass => Cx("status", ColorClass, SizeClass, Class);
string ColorClass => Color switch
{
DColor.Neutral => "status-neutral",
DColor.Primary => "status-primary",
DColor.Secondary => "status-secondary",
DColor.Accent => "status-accent",
DColor.Info => "status-info",
DColor.Success => "status-success",
DColor.Warning => "status-warning",
DColor.Error => "status-error",
_ => null
};
string SizeClass => Size switch
{
DSize.Xs => "status-xs",
DSize.Sm => "status-sm",
DSize.Lg => "status-lg",
DSize.Xl => "status-xl",
_ => null
};
}