Documentação eQuantic.UI

Visuais

Ecossistema de Ícones

Aceda a mais de 11 pacotes de ícones líderes de mercado com um sistema unificado, otimizado para performance e tree-shaking.

Ativação de Provedores

Ative apenas os provedores necessários no seu Program.cs. O sistema utiliza carregamento preguiçoso para garantir que o bundle final permaneça leve.

builder.Services.AddUI(options =>
{
    // Enable icon packs (lazy-loaded on frontend)
    options.UseLucideIcons()
           .UseTablerIcons()
           .UseHeroicons()
           .UseFontAwesome()
           .UseAntDesignIcons()
           .UseMaterialIcons()
           .UseBootstrapIcons()
           .UseFeatherIcons()
           .UseIonIcons()
           .UseRemixIcons()
           .UseWeatherIcons();
});

Padrões de Uso

Unified Icon vs Specialized

O componente Icon permite trocar de pacote apenas mudando o prefixo, enquanto os componentes especializados oferecem propriedades específicas do pacote (como estilos de preenchimento no FontAwesome).

// Generic Approach (Unified Icon)
new Icon("lucide:activity", size: 24, color: "text-blue-500");

// Specialized Components (Type-safe)
new LucideIcon("activity") { Size = 24 };
new TablerIcon("user") { Color = "text-red-500" };
new FontAwesomeIcon("rocket") { Style = IconStyle.Solid };
Otimização

SVG inlining automático durante o SSR.

Estilização

Integração total com classes Tailwind CSS.

Provedores Customizados

Pode estender o ecossistema implementando a interface IIconProvider. Ideal para ícones de marca ou pacotes internos.

public class MyCustomIconProvider : IIconProvider
{
    public string Name => "my-icons";
    public string Resolve(string name) => $"<svg>...</svg>";
}

// Registration
options.WithIconProvider<MyCustomIconProvider>();

Dica de Performance

Evite misturar muitos pacotes de ícones diferentes na mesma página para manter o tempo de carregamento inicial mínimo.