ScrolsUI 0.2.2

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

ScrolsUI

ScrolsUI is a Blazor component library (Razor Class Library) that ships:

  • Reusable Razor components (buttons, inputs, layout, overlays, etc.)
  • CSS tokens/utilities/styles via static web assets
  • JS modules used by a few interactive components (loaded via import() at runtime)
  • DI services for theme, tooltips, and snackbars

This NuGet package is the library only (not a full Blazor app). A demo app can reference it, but consumers install it like any other library.

Requirements

  • .NET net10.0 (this package currently targets net10.0)
  • A Blazor host app (WebAssembly or Server) that can consume Razor Class Libraries

Install

dotnet add package ScrolsUI

Quick start

  1. Register services

In your host app Program.cs:

builder.Services.AddScrolsUI();
  1. Add the CSS (static web assets)

In your host app wwwroot/index.html (WASM) or Pages/_Host.cshtml / App.razor layout (Server):

<link rel="stylesheet" href="_content/ScrolsUI/css/tokens.css" />
<link rel="stylesheet" href="_content/ScrolsUI/css/utilities.css" />
<link rel="stylesheet" href="_content/ScrolsUI/css/app.css" />
  1. Use components
@using ScrolsUI.Components
@using ScrolsUI.Enums

<ScrolsButton Color="ScrolsColor.Primary">Hello</ScrolsButton>

Static assets and _content/...

ScrolsUI uses Razor Class Library static web assets. At runtime, files under this package’s wwwroot/ are served from:

_content/ScrolsUI/...

If you change the package PackageId/assembly name, update:

  • Your <link rel="stylesheet" href="_content/..."> references
  • Any JS module imports that point at _content/ScrolsUI/...

JavaScript modules

Some components/services load JS with dynamic import() (no script tag needed):

  • Theme module: _content/ScrolsUI/js/scrols-theme.js
  • Interactions module: _content/ScrolsUI/js/scrols-interactions.js
  • Code highlighting helpers: _content/ScrolsUI/js/scrols-code.js (used by ScrolsCode when Highlight="true", powered by Shiki)

If you see 404s for these files, it usually means the _content/ScrolsUI/... base path does not match the package id / assembly name you’re using.

Theming

ScrolsThemeService is registered by AddScrolsUI().

Typical usage pattern:

  • Call await ThemeService.InitializeAsync() once on app start (for example in App.razor)
  • Wrap your app content in ScrolsThemeProvider if you want programmatic theme control

Snackbars and tooltips

  • ScrolsSnackbarService and ScrolsTooltipService are registered by AddScrolsUI().
  • Add the provider components once near the root of your app:
    • ScrolsSnackbarProvider
    • ScrolsTooltipProvider

Packaging / local testing

Pack the library:

dotnet pack src/ScrolsUI/ScrolsUI.csproj -c Release

Install from a local folder feed (example):

dotnet pack src/ScrolsUI/ScrolsUI.csproj -c Release -o ./nupkgs
dotnet add package ScrolsUI --source ./nupkgs

License (how to include it in the NuGet package)

This project is licensed under the GNU General Public License v3.0 (GPL-3.0-only).

NuGet supports two approaches (this package includes both metadata and the license file):

Add an SPDX identifier to src/ScrolsUI/ScrolsUI.csproj:

<PackageLicenseExpression>GPL-3.0-only</PackageLicenseExpression>

If you prefer “GPL v3 or later”, use GPL-3.0-or-later instead.

Option B: Include a license file in the package

  1. Add this to src/ScrolsUI/ScrolsUI.csproj:
<PackageLicenseFile>LICENSE</PackageLicenseFile>
  1. Ensure the file is packed (and place a LICENSE file alongside the .csproj):
<ItemGroup>
  <None Include="LICENSE" Pack="true" PackagePath="" />
</ItemGroup>

Troubleshooting

  • Components render without styling: ensure the _content/ScrolsUI/css/... <link> tags are present and ordered (tokens/utilities before app styles).
  • JS features not working: check browser devtools network tab for missing _content/ScrolsUI/js/... files.
  • You changed PackageId: update _content/<PackageId>/... references accordingly.
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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on ScrolsUI:

Package Downloads
ScrolsUI.Animate

ScrolsUI animation + scroll-triggered effects (IntersectionObserver + parallax + route transitions).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.2 134 3/12/2026
0.2.1 116 3/12/2026
0.2.0 136 3/11/2026
0.1.7 119 2/27/2026
0.1.3 138 2/25/2026
0.1.2 116 2/24/2026
0.1.1 112 2/24/2026
0.1.0 117 2/24/2026