mirror of
https://github.com/radzenhq/radzen-blazor.git
synced 2026-02-04 05:35:44 +00:00
91 lines
4.6 KiB
C#
91 lines
4.6 KiB
C#
using Microsoft.AspNetCore.Components;
|
|
using Radzen.Blazor.Rendering;
|
|
|
|
namespace Radzen.Blazor
|
|
{
|
|
/// <summary>
|
|
/// A small label component used to display counts, statuses, or short text labels with semantic color coding.
|
|
/// RadzenBadge is a compact visual indicator commonly used for notification counts, status indicators, tags, or highlighting important information.
|
|
/// Supports multiple styles (Primary, Secondary, Success, Info, Warning, Danger, Light, Dark) for semantic coloring,
|
|
/// variants (Filled, Flat, Outlined, Text) for different appearances, and shapes (standard rectangular or pill-shaped via IsPill).
|
|
/// Content can be simple text via Text property or custom content via ChildContent.
|
|
/// Can be absolutely positioned to overlay other elements (e.g., notification icon with count).
|
|
/// Often used inline with text, on buttons (to show counts), or overlaid on icons (notification badges).
|
|
/// </summary>
|
|
/// <example>
|
|
/// Basic badge with text:
|
|
/// <code>
|
|
/// <RadzenBadge BadgeStyle="BadgeStyle.Primary" Text="New" />
|
|
/// </code>
|
|
/// Notification count badge:
|
|
/// <code>
|
|
/// <div style="position: relative; display: inline-block;">
|
|
/// <RadzenIcon Icon="notifications" />
|
|
/// <RadzenBadge BadgeStyle="BadgeStyle.Danger" Text="3" IsPill="true"
|
|
/// Style="position: absolute; top: -8px; right: -8px;" />
|
|
/// </div>
|
|
/// </code>
|
|
/// Status badge with custom variant:
|
|
/// <code>
|
|
/// <RadzenBadge BadgeStyle="BadgeStyle.Success" Variant="Variant.Flat" Text="Active" IsPill="true" />
|
|
/// </code>
|
|
/// </example>
|
|
public partial class RadzenBadge : RadzenComponent
|
|
{
|
|
/// <inheritdoc />
|
|
protected override string GetComponentCssClass() => ClassList.Create("rz-badge")
|
|
.Add($"rz-badge-{BadgeStyle.ToString().ToLowerInvariant()}")
|
|
.AddVariant(Variant)
|
|
.AddShade(Shade)
|
|
.Add("rz-badge-pill", IsPill)
|
|
.ToString();
|
|
|
|
/// <summary>
|
|
/// Gets or sets the custom child content to render inside the badge.
|
|
/// When set, overrides the <see cref="Text"/> property for displaying custom markup.
|
|
/// </summary>
|
|
/// <value>The child content render fragment.</value>
|
|
[Parameter]
|
|
public RenderFragment? ChildContent { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the text content displayed in the badge.
|
|
/// Typically used for short text like numbers, single words, or abbreviations.
|
|
/// </summary>
|
|
/// <value>The badge text.</value>
|
|
[Parameter]
|
|
public string? Text { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the semantic color style of the badge.
|
|
/// Determines the badge's color based on its purpose (Primary, Success, Danger, Warning, etc.).
|
|
/// </summary>
|
|
/// <value>The badge style. Default is <see cref="BadgeStyle.Primary"/>.</value>
|
|
[Parameter]
|
|
public BadgeStyle BadgeStyle { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the design variant that controls the badge's visual appearance.
|
|
/// Options include Filled (solid background), Flat (subtle background), Outlined (border only), and Text (minimal styling).
|
|
/// </summary>
|
|
/// <value>The badge variant. Default is <see cref="Variant.Filled"/>.</value>
|
|
[Parameter]
|
|
public Variant Variant { get; set; } = Variant.Filled;
|
|
|
|
/// <summary>
|
|
/// Gets or sets the color intensity shade for the badge.
|
|
/// Works in combination with <see cref="BadgeStyle"/> to adjust the color darkness/lightness.
|
|
/// </summary>
|
|
/// <value>The color shade. Default is <see cref="Shade.Default"/>.</value>
|
|
[Parameter]
|
|
public Shade Shade { get; set; } = Shade.Default;
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the badge should have rounded pill-shaped ends instead of rectangular corners.
|
|
/// Pill badges have a more modern, capsule-like appearance and are often used for tags or status indicators.
|
|
/// </summary>
|
|
/// <value><c>true</c> for pill shape; <c>false</c> for rectangular. Default is <c>false</c>.</value>
|
|
[Parameter]
|
|
public bool IsPill { get; set; }
|
|
}
|
|
} |