Dorn.WebUI.Primitives
1.0.5
dotnet add package Dorn.WebUI.Primitives --version 1.0.5
NuGet\Install-Package Dorn.WebUI.Primitives -Version 1.0.5
<PackageReference Include="Dorn.WebUI.Primitives" Version="1.0.5" />
<PackageVersion Include="Dorn.WebUI.Primitives" Version="1.0.5" />
<PackageReference Include="Dorn.WebUI.Primitives" />
paket add Dorn.WebUI.Primitives --version 1.0.5
#r "nuget: Dorn.WebUI.Primitives, 1.0.5"
#:package Dorn.WebUI.Primitives@1.0.5
#addin nuget:?package=Dorn.WebUI.Primitives&version=1.0.5
#tool nuget:?package=Dorn.WebUI.Primitives&version=1.0.5
Dorn.WebUI.Primitives
Framework-agnostic Blazor UI primitives shared by Dorn's Blazor templates: class merging (Cn/ClassGroups), roving-focus and typeahead state, UiId, UiValueComponent/UiInputBase, lazy JS-module interop wrappers, theme state, and toast queue state.
This package contains no .razor components. Components stay copy-owned per template — see ADR 0022.
JS interop path contract
ModalInterop, AnchorInterop, and DismissInterop each wrap a JS module via UiInteropModule, which resolves its module with a dynamic import() relative to the consuming app's document.baseURI. This is a runtime contract with no compile-time enforcement — the compiler cannot verify a consumer ships the matching files.
A consuming app MUST keep its JS modules at exactly these paths, relative to wwwroot:
| Interop wrapper | Required module path |
|---|---|
ModalInterop |
wwwroot/js/ui/ui-modal.js |
AnchorInterop |
wwwroot/js/ui/ui-anchor.js |
DismissInterop |
wwwroot/js/ui/ui-dismiss.js |
If a module is missing or moved, the dynamic import() fails at runtime with a browser-level module resolution error, not a build-time error.
Consumption
Reference the package and use the primitives directly:
<PackageReference Include="Dorn.WebUI.Primitives" />
using Dorn.WebUI.Primitives;
using Dorn.WebUI.Primitives.Interop;
using Dorn.WebUI.Primitives.Theme;
using Dorn.WebUI.Primitives.Toast;
| 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.9)
- Microsoft.AspNetCore.Components.Forms (>= 10.0.9)
- Microsoft.AspNetCore.Components.Web (>= 10.0.9)
- Microsoft.JSInterop (>= 10.0.9)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.