Packages
One repository, one version: a release covers every package at once, and they are only ever installed at
matching versions — this is a pre-release, so --prerelease is needed until the first stable release.
Start here
An application that renders to the web needs the host and the renderers; everything else arrives as a dependency.
dotnet add package NE.Standard.UI.Web --prerelease
dotnet add package NE.Standard.UI.Web.Renderers --prerelease
The UI framework
| Package | What it carries |
|---|---|
NE.Standard.UI.Primitives |
The bottom layer: enums, attributes and value types — UIThickness, UIResponsive<T>, the styling and binding vocabulary. No dependencies. |
NE.Standard.UI.Abstractions |
The binding and addressing model, RecursiveObservable, the items and interaction contracts, the ClientEffect vocabulary. |
NE.Standard.UI.Authoring |
What an application author writes against: the component, view and controller base contracts. |
NE.Standard.UI.Compiled |
The compiler's output: CompiledView, its indexes and the resolution over them. |
NE.Standard.UI.Shell |
Hosting and runtime contracts: IUIHost, IUIRuntime, IUIUpdateSink, sessions, services. |
NE.Standard.UI |
The engine: view compilation, the two-way runtime, hosting, routing, scheduling. |
NE.Standard.UI.Components.Foundation |
The authoring foundation: the component bases (VisualComponentBase, TemplatedComponentBase, RowItemsComponentBase, the input bases), the template bindings and the input extension methods a package's own component builds on — none of the built-ins. |
NE.Standard.UI.Components |
The built-in components and their default templates, over the foundation. |
NE.Standard.UI.Generators |
The two Roslyn source generators the stack is built on, usable by anything defining its own components or observable models. |
The web platform
| Package | What it carries |
|---|---|
NE.Standard.UI.Web |
The ASP.NET Core host: shell, SignalR channel, file transfer, and the embedded TypeScript client. |
NE.Standard.UI.Web.Abstractions |
The render contracts an add-on implements to render a component of its own. |
NE.Standard.UI.Web.Renderers.Foundation |
The renderer base (WebComponentRendererBase) and the shared style, text and input helpers an add-on's own renderer builds on. |
NE.Standard.UI.Web.Renderers |
The HTML renderers for the built-in components, over the foundation. |
Add-ons
Icons ship separately, from their own repository (AkiEvansDev/NE.Standard.UI.Icons), on their own version —
developed alongside the framework so a set and the renderer it plugs into are never out of step. One set is two
packages: the names, platform-independent, and the rendering for a platform.
| Package | What it carries |
|---|---|
NE.Standard.UI.Icons.Lucide / NE.Standard.UI.Web.Icons.Lucide |
Lucide: 1 715 line glyphs, 2 px on a 24 grid. |
NE.Standard.UI.Icons.Material / NE.Standard.UI.Web.Icons.Material |
Material Symbols: 3 899 rounded glyphs, filled and outlined. |
NE.Standard.UI.CodeInput / NE.Standard.UI.Web.CodeInput |
A code editor field: syntax highlighting for JSON, CSS and LESS, JavaScript and TypeScript, HTML, Bash, C# and Python, line numbers, and find and replace in the browser. Its own repository (AkiEvansDev/NE.Standard.UI.CodeInput) and version, under the framework's licence. |
NE.Standard.UI.Extensions |
Presets over the components: a text in a role (UIText), a page's regions (UIPage), the arrangements (UILayout), buttons and their rows (UIButtons), a form's pieces (UIForm, UIDetails), and ShownWhen/HiddenWhen/EnabledWhen — one call each, nothing the client has to know about. |
Neither icon set 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 — so the glyph table ships deflated in the assembly and the web package builds a stylesheet at startup from what the application registers.
Both icon packages are MIT: a table of names and a stylesheet carries no reason to require a licence anyone has to read. Being MIT does not make the framework MIT — the icons are only useful inside it, and using them commercially still means licensing the framework itself.
From elsewhere
| Package | What it carries |
|---|---|
NE.Colors |
The colour palette, a repository of its own because more than this framework needs it. MIT, netstandard2.1, no dependencies. Arrives as a dependency of NE.Standard.UI.Abstractions. |
NE.Common |
General-purpose .NET helpers. MIT, its own repository, and not a dependency of anything here — it used to ship from this repository under the name NE.Standard and moved out because nothing in the framework used it. |
Licence
The framework itself — core, everything above except the add-ons and the packages from elsewhere — is under
the Prosperity Public License 3.0.0: free for noncommercial use, with a thirty-day trial for commercial
use. Personal projects, research, education, charities and public institutions are not commercial use. See
LICENSE.md.