Jazor.Admin
0.3.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Jazor.Admin --version 0.3.2
NuGet\Install-Package Jazor.Admin -Version 0.3.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="Jazor.Admin" Version="0.3.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Jazor.Admin" Version="0.3.2" />
<PackageReference Include="Jazor.Admin" />
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 Jazor.Admin --version 0.3.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Jazor.Admin, 0.3.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 Jazor.Admin@0.3.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=Jazor.Admin&version=0.3.2
#tool nuget:?package=Jazor.Admin&version=0.3.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Jazor.Admin
Admin-shell contracts and native RazorVue admin-shell components for Jazor.
Install
<ItemGroup>
<PackageReference Include="Jazor" Version="0.1.31" />
<PackageReference Include="Jazor.Vue" Version="0.1.31" PrivateAssets="all" />
<PackageReference Include="Jazor.Admin" Version="0.1.31" />
</ItemGroup>
Scope of this package:
- Core admin-shell models: navigation, breadcrumb, page actions, layout modes
- Shared authoring base types for admin-shell components
- Native admin-shell components built on shared Vue3 authoring contracts
- Container-contract shell components that can be compile-time injected to concrete implementations
- Stable public contracts that do not leak specific UI-library props
Authoring notes:
- Native Admin shell components stay on the RazorVue user-component path:
ComponentBase + IVueComponent + [ECMAScriptModule(...)] - Public shell components also act as container contracts through
IVueContainerComponent - Concrete replacements implement
IVueContainerImplementation<TContainer>and are selected through assembly-level[VueInject] - Shared metadata such as prop/slot overrides belongs to the general Vue authoring layer via
VueProp/VueSlot - The shared
Logoslot follows layout semantics in the native shell:Topmode feeds the default header, whileSidebar/Mixedmodes feed the default sidebar and do not duplicate the same branding fragment into the default header - Navigation destinations use two explicit, non-overlapping properties:
Hrefemits a raw anchor, while the strongly typedECMAScript.VueRoute.RouteLocationRawRouteTargetemits native<router-link :to="...">navigation RouteTargettakes precedence when both properties are supplied. Non-emptyHrefvalues are trimmed before emission, and whitespace-onlyHrefvalues are ignored rather than emitted as navigable links- Sidebar navigation keys are normalized too: blank
AdminNavItem.Keyvalues are ignored as non-renderable menu entries, and padded keys are trimmed before selected/expanded-state matching, DOMdata-keyemission, andSelectedKeyChanged/ExpandedKeysChangedcallbacks - Sidebar also builds an effective unique-key tree before render and interaction logic: normalized duplicate keys are first-win, and later conflicting items are dropped rather than producing ambiguous selected/expanded state or duplicate DOM keys
- Native display text is normalized as well: header/page titles, breadcrumb titles, page-action text, and sidebar nav titles are trimmed before render, while whitespace-only values continue to count as absent
- Disabled sidebar branches stay non-expandable even when callers pass their keys through explicit
ExpandedKeys; native shell state cannot force illegal expanded DOM back onto disabled navigation - Sidebar expanded-state callbacks are normalized against the current navigation tree, so disabled branches and stale unknown keys are not echoed back through
ExpandedKeysChanged - The current native sidebar treats only non-blank
AdminNavItem.Titlevalues as renderable menu content, so whitespace-only nav items do not produce empty links, buttons, or sidebar regions PageContainerignores breadcrumb items with blankTitleand action items with blankText, so dirty data does not create empty header regions, empty links, or empty action buttonsApplicationFramecarries controlled application-wide theme, language, and grayscale state across shell and standalone routes without owning application preference storage or localization policy- Native sidebar layouts expose an accessible, label-customizable shell command that writes through
CollapsedChanged; collapse remains application-controlled and does not introduce framework-owned persistence Toplayout reuses the same normalized navigation tree and controlled selection/expansion callbacks inside the header navigation slot, so changing layout mode does not remove routing access or fork navigation semantics- Tables, forms, notices, authentication fields, error pages, and other concrete page content are intentionally outside this package; applications compose those features inside the shell/page mechanisms
- Native shell slots are normalized by effective content, not just non-null delegates: empty, whitespace-only, or comment-only
Logo/Header/Sidebar/Actions/UserRegion/Extrafragments are treated as absent, so they do not create empty wrappers
Verified baseline:
- Default registry resolution keeps
AdminLayout,SidebarMenu,HeaderBar, andPageContaineron the nativeJazor.Adminimplementation path [VueInject]replacement is regression-covered for all four public shell components- Injected runtime shape lowering is verified on the current RazorVue
.mjspipeline bysamples/JazorAdmin/InjectSmoke: the packaged build replacesPageContainer, emits a default implementation import, applies implementation prop/slot names, and mounts the result in a real browser - Multi-shell composition is regression-covered on the current Vue render-function
.mjspipeline, including cross-container import aggregation, slot/prop/model mapping, and runtime stability - Native route-target semantics are regression-covered at the source/component contract level and by JazorAdmin's current render-function
.mjsartifacts; the real-browser lane exercises nested Vue Router navigation, deep links, history traversal, and recovery navigation - Resolver normalization also regression-covers leading/trailing whitespace on non-empty
href/path/name/hashvalues, so native shell output does not leak padded DOMhrefvalues or padded route-object fields - Sidebar key normalization is regression-covered for blank-key filtering, selected/expanded-state matching against trimmed keys, DOM
data-keytrimming, and normalizedSelectedKeyChanged/ExpandedKeysChangedpayloads - Sidebar duplicate-key handling is regression-covered for first-win effective-tree construction, duplicate DOM-key suppression, selection/expansion isolation, and blocked callbacks from dropped duplicate items
- Display-text normalization is regression-covered for trimmed header titles/subtitles, page titles/subtitles, breadcrumb/action text, and sidebar nav-item titles
- Disabled sidebar branch behavior is regression-covered for both derived navigability and explicit-expanded-state suppression
- Sidebar expanded-state writeback is regression-covered for invalid explicit keys and current-tree normalization
- Sidebar/admin-layout empty-content semantics are regression-covered for null nav items and whitespace-only nav-item titles
- Page-container header semantics are regression-covered for null entries, whitespace-only breadcrumb/action entries, and navigable/disabled target branches
- The JazorAdmin dogfood smoke consumes the packaged application frame and strongly typed admin models while implementing its concrete TDesign shell locally; its independent InjectSmoke companion verifies replacement against the native
PageContainercontract. - Empty-shell slot normalization is regression-covered for zero-frame, whitespace-only, and comment-only
RenderFragmentinputs, and visible slot content is captured once then replayed so presence checks do not double-execute user fragments - Container compatibility failures are regression-covered for missing props, prop type mismatch, emit payload mismatch, default-slot mismatch,
CaptureUnmatchedValuesmismatch, duplicate registrations, and mismatchedIVueContainerImplementation<TContainer>contracts
This package is the semantic and implementation core. Third-party UI-library cooperation belongs in samples or app-level composition, not in Jazor.Admin.* adapter packages.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net11.0 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net11.0
- ECMAScript.Style (>= 0.3.2)
- ECMAScript.VueRoute (>= 0.3.2)
- Jazor (>= 0.3.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.13.0 | 37 | 8/12/2026 |
| 0.12.0 | 39 | 8/12/2026 |
| 0.11.0 | 42 | 8/11/2026 |
| 0.10.0 | 44 | 8/11/2026 |
| 0.9.0 | 37 | 8/11/2026 |
| 0.8.3 | 47 | 8/11/2026 |
| 0.8.2 | 60 | 8/11/2026 |
| 0.7.0 | 89 | 8/10/2026 |
| 0.6.0 | 73 | 8/10/2026 |
| 0.5.0 | 83 | 8/9/2026 |
| 0.4.0 | 79 | 8/9/2026 |
| 0.3.4 | 79 | 8/9/2026 |
| 0.3.3 | 76 | 8/7/2026 |
| 0.3.2 | 84 | 8/6/2026 |
| 0.1.48 | 80 | 8/5/2026 |
| 0.1.47 | 81 | 8/5/2026 |
| 0.1.46 | 82 | 8/5/2026 |
| 0.1.45 | 85 | 8/5/2026 |
| 0.1.43 | 90 | 8/4/2026 |
| 0.1.42 | 87 | 8/4/2026 |
Loading failed