using AIStudio.Provider;
using Microsoft.AspNetCore.Components;
namespace AIStudio.Components;
///
/// Shows a provider icon next to its name.
///
///
/// Providers appear in select items, in table cells, and in group headers. All of them need the
/// same icon and text pairing, so this component owns that layout once instead of repeating it at
/// every call site.
///
public partial class ProviderLabel : ComponentBase
{
///
/// The configured provider whose icon should be shown. Takes precedence over ProviderType.
///
[Parameter]
public AIStudio.Settings.Provider? ProviderSettings { get; set; }
///
/// The LLM provider whose icon should be shown when no ProviderSettings was given.
///
[Parameter]
public LLMProviders ProviderType { get; set; } = LLMProviders.NONE;
///
/// The validated custom icon supplied by a configuration plugin.
///
[Parameter]
public string CustomIconDataUrl { get; set; } = string.Empty;
///
/// The text shown next to the icon.
///
[Parameter]
public string Text { get; set; } = string.Empty;
///
/// Additional CSS class for the text.
///
[Parameter]
public string TextClass { get; set; } = string.Empty;
}