45 lines
1.2 KiB
Plaintext
45 lines
1.2 KiB
Plaintext
@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
|
||
|
|
};
|
||
|
|
}
|