Katalyst.Portal.SharedUI 1.2.0

dotnet add package Katalyst.Portal.SharedUI --version 1.2.0
                    
NuGet\Install-Package Katalyst.Portal.SharedUI -Version 1.2.0
                    
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="Katalyst.Portal.SharedUI" Version="1.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Katalyst.Portal.SharedUI" Version="1.2.0" />
                    
Directory.Packages.props
<PackageReference Include="Katalyst.Portal.SharedUI" />
                    
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 Katalyst.Portal.SharedUI --version 1.2.0
                    
#r "nuget: Katalyst.Portal.SharedUI, 1.2.0"
                    
#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 Katalyst.Portal.SharedUI@1.2.0
                    
#: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=Katalyst.Portal.SharedUI&version=1.2.0
                    
Install as a Cake Addin
#tool nuget:?package=Katalyst.Portal.SharedUI&version=1.2.0
                    
Install as a Cake Tool

Portal.SharedUI

Portal.SharedUI is a Razor Class Library (RCL) that provides the shared shell for the organization portal: MVC partials, bridge styles, and a bundled third-party admin theme (Bootstrap-based) as static web assets. It is designed to be referenced by Portal.Web and by module apps (HRIS, LMS, etc.) so every surface shares the same chrome and look and feel.

For platform context, see the repository root ARCHITECTURE.md (shared UI package and /_content/Katalyst.Portal.SharedUI/ URLs).

Requirements

  • .NET target: net10.0 (must match the consuming ASP.NET Core app).
  • Host app: Microsoft.NET.Sdk.Web with MVC + Razor views (AddControllersWithViews, typical MapControllerRoute / static web assets pipeline).

What’s inside

Area Purpose
Views/Shared Reusable layout partials (theme head/scripts, top nav, sidebar chrome, footer, marketing landing head/scripts).
Models ModuleDefinition, PortalModules, and helpers used by nav partials.
wwwroot/assets Vendor theme (CSS, JS, fonts, images, libs). Served under /_content/Katalyst.Portal.SharedUI/.
wwwroot/css portal-bridge.css and legacy portal CSS used with the theme.
wwwroot/js portal-common.js, portal-theme-init.js, portal-landing-head.js, portal-landing-init.js.
wwwroot/html Reference-only demo HTML from the theme vendor; excluded from the NuGet static web assets (see .csproj).

Main partials (app shell)

Use these from the host _Layout.cshtml (see Portal.Web/Views/Shared/_Layout.cshtml as the reference implementation).

Partial Role
_PortalThemeHead Theme CSS/JS for the signed-in shell (Bootstrap, styles.min.css, icons, waves, simplebar, pickr, choices, portal-bridge.css).
_PortalThemeScripts Shell scripts (defaultmenu, sticky, simplebar, waves, portal-theme-init, portal-common).
_PortalTopNav app-header: logo, module links, theme toggle, profile / sign out.
_PortalSidebarStart / _PortalSidebarEnd Wrap RenderSection("Sidebar") with the theme sidebar menu.
_PortalFooter Theme footer strip.

Marketing landing (optional)

Partial Role
_PortalLandingHead Landing page styles (styles.css, Swiper, etc.).
_PortalLandingScripts Landing scripts (does not load vendor landing.js without switcher DOM).

Static files URL

All packaged wwwroot files are exposed at:

/_content/Katalyst.Portal.SharedUI/<path-under-wwwroot>

In Razor, prefer the tilde form so the app resolves the correct prefix:

<link rel="stylesheet" href="~/_content/Katalyst.Portal.SharedUI/css/portal-bridge.css" asp-append-version="true" />

Use in another project

Project reference (local / monorepo)

<ItemGroup>
  <ProjectReference Include="..\Portal.SharedUI\Portal.SharedUI.csproj" />
</ItemGroup>

NuGet package

<ItemGroup>
  <PackageReference Include="Katalyst.Portal.SharedUI" Version="x.y.z" />
</ItemGroup>

Host configuration

  1. Add typical MVC + static assets setup (same generation as Portal.Web).

  2. In Views/_ViewImports.cshtml, if you use package models:

    @using Portal.SharedUI.Models
    @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
    
  3. Compose Views/Shared/_Layout.cshtml with the partials above, @RenderBody(), session modal markup if you use portal-common.js token warning, and @RenderSection("Sidebar", required: false) between _PortalSidebarStart and _PortalSidebarEnd.

  4. Nav behavior depends on ClaimsPrincipal and roles (see PortalTopNavHelper / ModuleDefinition). Align Keycloak (or your IdP) role claims with PortalModules or replace the partials with your own.

Pack performance

The package includes the full wwwroot/assets tree (thousands of files). dotnet pack can take a long time; that is expected.

Publishing to NuGet.org

Maintainers: step-by-step dotnet pack, metadata on the .csproj, and dotnet nuget push are documented in CONTRIBUTING.md.

License and vendor theme

Theme files under wwwroot/assets/ are third-party material. You must comply with the vendor license for use and for redistribution (including publishing this project as a NuGet package). The package author is responsible for nuget.org policy compliance.

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

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
1.2.0 148 3/31/2026
1.1.0 121 3/31/2026
1.0.0 132 3/29/2026