NE.Standard.UI.Icons.Material 1.0.0-rc.2

This is a prerelease version of NE.Standard.UI.Icons.Material.
dotnet add package NE.Standard.UI.Icons.Material --version 1.0.0-rc.2
                    
NuGet\Install-Package NE.Standard.UI.Icons.Material -Version 1.0.0-rc.2
                    
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="NE.Standard.UI.Icons.Material" Version="1.0.0-rc.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NE.Standard.UI.Icons.Material" Version="1.0.0-rc.2" />
                    
Directory.Packages.props
<PackageReference Include="NE.Standard.UI.Icons.Material" />
                    
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 NE.Standard.UI.Icons.Material --version 1.0.0-rc.2
                    
#r "nuget: NE.Standard.UI.Icons.Material, 1.0.0-rc.2"
                    
#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 NE.Standard.UI.Icons.Material@1.0.0-rc.2
                    
#: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=NE.Standard.UI.Icons.Material&version=1.0.0-rc.2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=NE.Standard.UI.Icons.Material&version=1.0.0-rc.2&prerelease
                    
Install as a Cake Tool

NE.Standard.UI.Icons

Icon sets for the NE.Standard UI framework. One set is two packages: the names, which are platform-independent, and the rendering for a platform, which carries the glyph table embedded in its assembly and builds a stylesheet from what the application asks for.

Install

dotnet add package NE.Standard.UI.Icons.Lucide --prerelease
dotnet add package NE.Standard.UI.Web.Icons.Lucide --prerelease
Set Drawing Glyphs Names Web
Lucide Lines, 2 px on a 24 grid 1 792 NE.Standard.UI.Icons.Lucide NE.Standard.UI.Web.Icons.Lucide
Material Symbols Rounded, filled and outlined 3 903 NE.Standard.UI.Icons.Material NE.Standard.UI.Web.Icons.Material

Both sets are complete, and neither ships a stylesheet: the whole of Lucide is 700 KB of CSS and the whole of Material three megabytes, while an application draws tens of glyphs. The glyph table ships in the assembly instead, and what reaches a browser is what the application registered.

The choice between them is the drawing. A filled glyph survives being asked for at 12 or 14 pixels — it has no stroke to run out of pixels — so reach for Material Fill where an icon sits next to small text, and for a line set where it stands on its own.

Using a set

A pack asks which glyphs, because it will only serve those:

services.AddLucideWebIcons(LucideIcons.Settings, LucideIcons.Search, LucideIcons.Trash2);

services.AddMaterialWebIcons(
    MaterialIconStyle.Fill,
    MaterialIcons.Settings,
    MaterialIcons.Search,
    MaterialIcons.Delete);

// A gallery, or an application whose icon names arrive in data and cannot be listed at startup:
services.AddLucideWebIcons(LucideIconScope.All);
services.AddMaterialWebIcons(MaterialIconScope.All, MaterialIconStyle.Fill);

Call it as often as suits the application — a feature can ask for its own icons where it is registered, and one stylesheet is built from all of it when the host starts. A name the pack does not know throws there and then, rather than rendering as nothing.

new TextComponent()
    .SetIcon(LucideIcons.TriangleAlert)
    .SetIconColor(UIThemeColor.Danger)
    .SetTitle("Delete project?");

new ButtonComponent()
    .ConfigureDefaultContent(c => c.SetIcon(MaterialIcons.Save).SetTitle("Save changes"))
    .OnClick(nameof(Controller.Save));

The constants carry the set's own name behind a prefix — LucideIcons.TriangleAlert is "lu-triangle-alert", MaterialIcons.Save is "ms-save". A glyph class is global and the two sets share a hundred names between them; the prefix is what lets one page draw both.

They are const string, so the compiler inlines them and a project that only names icons carries no runtime dependency on the names package at all. A pack names glyphs, not meanings: "the icon for deleting" is the application's decision, and a const string of its own is the place to make it once.

The demo

One page over both sets, read off the packages themselves so it cannot fall behind the tables it documents. Material is what it opens on; a selector switches the set, another switches Material between its two drawings, and the search box matches the constant and the glyph alike.

Four thousand tiles are not a page, so the gallery is a windowed items view: it holds a hundred at a time and reads the next as they are scrolled to, and the search runs on the server — the browser only ever had a hundred names to look through. It is also the one case a registration cannot cover, so the demo asks for both sets whole, and for both of Material's drawings.

dotnet run --project examples/DemoApp.Icons     # http://localhost:5300

License

MIT — see LICENSE. The icon sets are a table of names and a stylesheet, and there is no reason for them to carry a licence anyone has to read.

This does not make the framework MIT. These packages are only useful inside NE.Standard, which is under the Prosperity Public License 3.0.0 — free for noncommercial use, with a thirty-day trial for commercial use. Using the icons commercially means licensing the framework.

The Lucide glyphs themselves are Lucide's, under the ISC license.

Contributing

This repository is a read-only mirror. Development happens in a private repository alongside the framework — that is how a set stays in step with the renderer it plugs into — and everything here is generated from it, so pull requests are switched off.

Issues are open and welcome, and a request for a set that is not here yet is a good one.

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.
  • net10.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on NE.Standard.UI.Icons.Material:

Package Downloads
NE.Standard.UI.Web.Icons.Material

Material Symbols Rounded for the NE.Standard UI web platform. One 382 KB variable font ships embedded — every glyph, with FILL and the optical size still axes — and the stylesheet is built at startup from the glyphs the application registers. MIT, unlike the framework it plugs into; the font itself is Apache-2.0.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-rc.2 64 9/10/2026
1.0.0-rc.1 63 9/7/2026
1.0.0-preview.2 71 9/7/2026