Sufficit.Blazor.UI 1.26.812.652

There is a newer version of this package available.
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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sufficit.Blazor.UI" Version="1.26.812.652" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sufficit.Blazor.UI" Version="1.26.812.652" />
                    
Directory.Packages.props
<PackageReference Include="Sufficit.Blazor.UI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sufficit.Blazor.UI --version 1.26.812.652
                    
#r "nuget: Sufficit.Blazor.UI, 1.26.812.652"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sufficit.Blazor.UI@1.26.812.652
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sufficit.Blazor.UI&version=1.26.812.652
                    
Install as a Cake Addin
#tool nuget:?package=Sufficit.Blazor.UI&version=1.26.812.652
                    
Install as a Cake Tool

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 o ProjectReference para Sufficit.Blazor.UI.csproj e referencie <link href="_content/Sufficit.Blazor.UI/sufficit-ui.css" rel="stylesheet" />.
  • Copiando os .razor: ainda é possível para protótipos isolados; copie também wwwroot/sufficit-ui.css e 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ê

  • Layout e UI/FilterControl do sufficit-blazor referenciam 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-blazor já tem ThemeService e MudThemeContainer; 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

  1. Migrar sufficit-blazor para net10.0.
  2. Adotar os componentes no sufficit-blazor, trocando os nomes antigos pelos SUI* e removendo as duplicatas locais.
  3. 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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