Sufficit.Blazor.UI
1.26.812.652
See the version list below for details.
dotnet add package Sufficit.Blazor.UI --version 1.26.812.652
NuGet\Install-Package Sufficit.Blazor.UI -Version 1.26.812.652
<PackageReference Include="Sufficit.Blazor.UI" Version="1.26.812.652" />
<PackageVersion Include="Sufficit.Blazor.UI" Version="1.26.812.652" />
<PackageReference Include="Sufficit.Blazor.UI" />
paket add Sufficit.Blazor.UI --version 1.26.812.652
#r "nuget: Sufficit.Blazor.UI, 1.26.812.652"
#:package Sufficit.Blazor.UI@1.26.812.652
#addin nuget:?package=Sufficit.Blazor.UI&version=1.26.812.652
#tool nuget:?package=Sufficit.Blazor.UI&version=1.26.812.652
Sufficit.Blazor.UI
Biblioteca de componentes Blazor da Sufficit User Interface (SUI). Autônoma:
não depende de MudBlazor (nem pacote, nem código-fonte vendorizado). Traz o
próprio stylesheet (sufficit-ui.css) com design tokens --sui-*.
Status: primeiro consumidor migrado. O repositório consolidou os
componentes compartilhados que viviam no sufficit-blazor; a biblioteca já é
consumida por referência de projeto e permanece agnóstica de domínio.
Alvo
net10.0. O sufficit-blazor já foi migrado para net10.0; o
sufficit-ai continua em net9.0 e será avaliado separadamente.
Componentes
Prefixo SUI, namespace único Sufficit.Blazor.UI.Components. São componentes
nossos, baseados em Blazor puro (HTML + CSS), sem herança de bibliotecas de
terceiros.
| Componente | Substitui (no sufficit-blazor) |
Uso hoje |
|---|---|---|
SUIButton |
MudButtonEnchanted |
16 |
SUINavGroup |
MudNavGroupEnhanted |
16 |
SUITableEmpty |
TableNoRecords |
40 |
SUILoadingButton |
LoadingButton |
5 |
SUINavLink |
MudNavLinkEnchanted |
3 |
SUIIconButton |
MudIconButtonEnchanted |
2 |
SUISkeletonLoader |
SkeletonLoader |
2 |
SUIEmptyState |
EmptyState |
1 |
SUISwitchButton |
MudSwitchButton |
1 |
SUISkeletonType acompanha o SUISkeletonLoader.
GenericTable foi descartado: zero usos em qualquer projeto.
Estilo e tokens
Os componentes não usam Material Design. Toda a estilização vem de
wwwroot/sufficit-ui.css, com tokens próprios em :root (modo claro) e
[data-sui-theme="dark"] (modo escuro). Para adotar o tema escuro, basta
colocar o atributo no elemento raiz (ex.: <body data-sui-theme="dark">).
Inclua a folha de estilo na aplicação consumidora. O caminho exato depende de como a biblioteca é consumida:
- Como referência de projeto (uso atual no
sufficit-blazor): adicione oProjectReferenceparaSufficit.Blazor.UI.csproje referencie<link href="_content/Sufficit.Blazor.UI/sufficit-ui.css" rel="stylesheet" />. - Copiando os
.razor: ainda é possível para protótipos isolados; copie tambémwwwroot/sufficit-ui.csse referencie-o diretamente. Não há pacote NuGet publicado neste momento (IsPackable=false).
API
Os parâmetros que controlam aparência usam enums próprios (não do MudBlazor):
SUIColor, SUIVariant, SUISize, SUIButtonType, SUIEdge, SUITypo,
SUIAlign, SUIOrigin, SUITone. Quem está migrando de componentes MudBlazor precisa
preferir esses enums no código novo. Os controles de ação mantêm uma ponte
temporária para valores visuais legados, permitindo migrar telas sem uma troca
big-bang.
Temas
Cada aplicação consumidora tem identidade visual própria (o Identity é
vermelho #cc0000, o Blazor é laranja #ee6321). A biblioteca não impõe os
seus valores: implementa o contrato ISuiTheme (SuiPalette, SuiTypography,
SuiLayout) em Sufficit.Blazor.UI.Themes e regista no DI:
// na app consumidora
services.AddSufficitUI(opts => opts.Theme = new IdentitySuiTheme());
Depois envolve a raiz com <SuiThemeProvider>, que injeta as variáveis CSS
(--sui-color-primary, --sui-surface, ...) a partir do tema ativo:
<SuiThemeProvider>
<Routes />
</SuiThemeProvider>
Sem o provider, a biblioteca usa DefaultSuiTheme (azul, claro) como fallback.
Ver docs/activities/202608092045-completed-identity-management-adoption.md
para um exemplo completo de implementação.
Namespaces
Namespace único: Sufficit.Blazor.UI.Components (componentes) e
Sufficit.Blazor.UI.Themes (contrato de tema).
O que ainda não está aqui, e por quê
LayouteUI/FilterControldosufficit-blazorreferenciam domínios de negócio (telefonia, financeiro, gateway de mensagens, logging). Não são genéricos como estão: precisam ser desacoplados antes de entrar numa biblioteca compartilhada — ainda mais numa pública.- Contrato de temas. O
sufficit-blazorjá temThemeServiceeMudThemeContainer; eles evoluem para um contrato explícito (paleta, tipografia, densidade) quando houver mais de um consumidor real. Desenhar temas antes disso é adivinhação. - Testes e CI. A serem adicionados junto com o primeiro consumidor.
Como usar
No consumidor principal, use uma referência de projeto e inclua o stylesheet
estático _content/Sufficit.Blazor.UI/sufficit-ui.css. O projeto continua
existindo como biblioteca Razor independente, sem pacote MudBlazor e sem
componentes vendorizados.
Roadmap
- Migrar
sufficit-blazorparanet10.0. - Adotar os componentes no
sufficit-blazor, trocando os nomes antigos pelosSUI*e removendo as duplicatas locais. - Contrato de temas, quando houver mais de um consumidor real.
Observação: o sufficit-ai hoje não usa nenhum destes componentes. A
consolidação lá é adoção, não migração — vale confirmar se compensa.
SUINavGroup
O SUINavGroup reimplementa o padrão de navegação em árvore (grupo expansível,
modo rail com flyout flutuante, accordion exclusivo entre irmãos) usando apenas
CSS — grid-template-rows: 0fr↔1fr para o collapse animado, posicionamento
absoluto para o flyout. Não há interop JavaScript nem portal.
Licença
MIT-0 para o código da Sufficit — ver LICENSE. Compartilhamento máximo, sem exigência de atribuição.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.AspNetCore.Components (>= 10.0.11)
- Microsoft.AspNetCore.Components.Web (>= 10.0.11)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Sufficit.Blazor.UI:
| Package | Downloads |
|---|---|
|
Sufficit.Blazor
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.26.812.808 | 0 | 8/12/2026 |
| 1.26.812.652 | 0 | 8/12/2026 |
| 1.26.812.620 | 0 | 8/12/2026 |
| 1.26.810.110 | 54 | 8/10/2026 |