Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project>
<!-- One version for every ShellUI package -->
<PropertyGroup>
<ShellUIVersion>0.3.5</ShellUIVersion>
<ShellUIVersion>0.3.6</ShellUIVersion>
<ShellUIVersionSuffix></ShellUIVersionSuffix>
</PropertyGroup>

Expand All @@ -24,5 +24,10 @@
<PackageTags>blazor;ui;components;tailwindcss;shadcn</PackageTags>
<RepositoryUrl>https://github.com/shellui-dev/shellui</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageIcon>icon.png</PackageIcon>
</PropertyGroup>

<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)assets\icon.png" Pack="true" PackagePath="\" Visible="false" />
</ItemGroup>
</Project>
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

| Channel | Version | Notes |
|---|---|---|
| Latest stable (recommended) | `0.3.5` | Tailwind CSS `4.3.2` |
| Latest stable (recommended) | `0.3.6` | Tailwind CSS `4.3.2` |
| Previous stable | `0.2.1` | Superseded by `0.3.0` |

The CLI needs the .NET 10 SDK and works in Blazor projects on .NET 8, 9 and 10. The `ShellUI.Components` NuGet package targets .NET 10 only; on .NET 8 or 9, use the CLI.
Expand Down
22 changes: 22 additions & 0 deletions ShellUI.Tests/SafelistDriftTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,28 @@ public void Safelist_MatchesGeneratedFromCurrentSources()
BuildDiffMessage(addedSinceCommit, removedSinceCommit));
}

[Fact]
public void Generator_HarvestsClassesInRazorExpressions()
{
var file = Path.Combine(Path.GetTempPath(), $"safelist-{Guid.NewGuid():N}.razor");
File.WriteAllLines(file, new[]
{
"<div class=\"@Shell.Cn(\"fixed translate-y-[-50%] sm:rounded-lg\", Class)\"></div>",
"<span class=\"flex @(Active ? \"text-destructive\" : \"text-muted-foreground\")\"></span>",
"@code { string Tone(string v) => v switch { \"ok\" => \"bg-green-500/20\", _ => \"bg-background\" }; }",
});
try
{
var classes = Program.GenerateSafelist(new[] { file });
foreach (var expected in new[] { "translate-y-[-50%]", "sm:rounded-lg", "text-destructive", "text-muted-foreground", "bg-green-500/20", "bg-background" })
Assert.Contains(expected, classes);
}
finally
{
File.Delete(file);
}
}

[Fact]
public void GeneratedTargetsFile_IsValidXml()
{
Expand Down
10 changes: 5 additions & 5 deletions VERSIONING_STRATEGY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ShellUI uses one centralized version for the source templates, CLI tool, and pac

| Scope | Value |
|---|---|
| Version | `0.3.5` |
| Version | `0.3.6` |
| Target framework | .NET 10 |
| Tailwind version | `4.3.2` |

Expand All @@ -18,15 +18,15 @@ The root `Directory.Build.props` supplies the version:

```xml
<PropertyGroup>
<ShellUIVersion>0.3.5</ShellUIVersion>
<ShellUIVersion>0.3.6</ShellUIVersion>
<ShellUIVersionSuffix></ShellUIVersionSuffix>
</PropertyGroup>
```

`Directory.Build.props` composes the package and assembly metadata:

- `Version` is `0.3.5`; with a suffix such as `rc.1` it becomes `0.3.5-rc.1`.
- `AssemblyVersion` and `FileVersion` use the numeric base `0.3.5`.
- `Version` is `0.3.6`; with a suffix such as `rc.1` it becomes `0.3.6-rc.1`.
- `AssemblyVersion` and `FileVersion` use the numeric base `0.3.6`.
- `InformationalVersion` includes the prerelease suffix.
- Component metadata reads the centralized properties when running from the repository. `VersionHelper` uses assembly metadata as a fallback when its repository search does not find the solution file.

Expand Down Expand Up @@ -57,7 +57,7 @@ The CLI writes the computed version into `shellui.json` for each installed entry
"InstalledComponents": [
{
"Name": "button",
"Version": "0.3.5",
"Version": "0.3.6",
"InstalledAt": "2026-01-01T00:00:00Z",
"IsCustomized": false
}
Expand Down
Binary file added assets/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/CLI_INSTALLATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

| Context | Version |
|---|---|
| Latest stable (recommended) | `0.3.5`, needs the .NET 10 runtime |
| Latest stable (recommended) | `0.3.6`, needs the .NET 10 runtime |
| Previous stable | `0.2.1` |
| Tailwind | `4.3.2` |

Expand Down Expand Up @@ -43,7 +43,7 @@ The manifest is `.config/dotnet-tools.json` and uses the installed package versi
"isRoot": true,
"tools": {
"shellui.cli": {
"version": "0.3.5",
"version": "0.3.6",
"commands": ["shellui"]
}
}
Expand Down
4 changes: 2 additions & 2 deletions docs/CLI_SYNTAX.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ShellUI CLI Syntax

This reference covers CLI `0.3.5`: it runs on .NET 10, sets up Blazor projects on .NET 8, 9 and 10, uses Tailwind CSS `4.3.2`, and has 76 direct component targets. Older versions, such as `0.2.1`, lack some of these commands.
This reference covers CLI `0.3.6`: it runs on .NET 10, sets up Blazor projects on .NET 8, 9 and 10, uses Tailwind CSS `4.3.2`, and has 76 direct component targets. Older versions, such as `0.2.1`, lack some of these commands.

## Command prefix

Expand Down Expand Up @@ -213,7 +213,7 @@ Representative fields look like this:
"InstalledComponents": [
{
"Name": "button",
"Version": "0.3.5",
"Version": "0.3.6",
"InstalledAt": "2026-01-01T00:00:00Z",
"IsCustomized": false
}
Expand Down
4 changes: 2 additions & 2 deletions docs/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Answers for the current ShellUI source and the currently published packages.

### Which version should I use?

Use `0.3.5`. It uses Tailwind CSS `4.3.2` and has 76 direct component targets:
Use `0.3.6`. It uses Tailwind CSS `4.3.2` and has 76 direct component targets:

```bash
dotnet tool install -g ShellUI.CLI
Expand Down Expand Up @@ -145,7 +145,7 @@ A representative Tailwind and component record is:
"InstalledComponents": [
{
"Name": "button",
"Version": "0.3.5",
"Version": "0.3.6",
"InstalledAt": "2026-01-01T00:00:00Z",
"IsCustomized": false
}
Expand Down
2 changes: 1 addition & 1 deletion docs/QUICKSTART.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ShellUI Quick Start

This quick start uses ShellUI `0.3.5`: Tailwind CSS `4.3.2` and 76 direct component targets. The CLI needs the .NET 10 SDK and works in Blazor projects on .NET 8, 9 and 10.
This quick start uses ShellUI `0.3.6`: Tailwind CSS `4.3.2` and 76 direct component targets. The CLI needs the .NET 10 SDK and works in Blazor projects on .NET 8, 9 and 10.

## Prerequisites

Expand Down
28 changes: 28 additions & 0 deletions docs/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# ShellUI Release Notes

# ShellUI v0.3.6

> A small patch: both packages now show the ShellUI logo on nuget.org, and the `ShellUI.Components` safelist includes the classes it was missing.

## 🐛 Fixes

- **Safelist:** `shellui-classes.txt`, which apps building their own Tailwind CSS from the package use, was missing 181 classes the components render: every class passed to `Shell.Cn("...")` inside a `class` attribute, plus those in conditional expressions. Among them were the dialog's centring (`translate-x-[-50%]`, `translate-y-[-50%]`), `sm:rounded-lg` and the Sonner variant colours, so in those apps dialogs weren't centred. The precompiled `shellui-all.css` wasn't affected.
- **Package icon:** `ShellUI.CLI` and `ShellUI.Components` showed nuget.org's default icon. They now use the ShellUI logo.

## ⬆️ Upgrading

- **NuGet package:** update `ShellUI.Components` to `0.3.6`. If you build your own Tailwind CSS from `shellui-classes.txt`, rebuild it afterwards.
- **CLI:** update the tool to `0.3.6`. Nothing changes in projects it set up.

## 📦 Installation

```bash
dotnet tool install -g ShellUI.CLI --version 0.3.6
# or upgrade an existing install
dotnet tool update -g ShellUI.CLI --version 0.3.6
```

```bash
dotnet add package ShellUI.Components --version 0.3.6
```

**Full Changelog**: https://github.com/shellui-dev/shellui/compare/v0.3.5...v0.3.6

# ShellUI v0.3.5

> A patch release that brings the 0.4 prerelease fixes to the stable line. `init` no longer downloads the Tailwind CLI into every project, `update` keeps your changes, `add` never downgrades a NuGet package, a component's `Class` overrides its own classes, overlays keep keyboard focus inside, and several component bugs are fixed. It also adds Razor class library support.
Expand Down
8 changes: 4 additions & 4 deletions src/ShellUI.CLI/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,10 @@ dotnet watch

## Documentation

- [README](https://github.com/shellui-dev/shellui/blob/v0.3.5/README.md)
- [CLI reference](https://github.com/shellui-dev/shellui/blob/v0.3.5/docs/CLI_SYNTAX.md)
- [Release notes](https://github.com/shellui-dev/shellui/blob/v0.3.5/docs/RELEASE_NOTES.md)
- [README](https://github.com/shellui-dev/shellui/blob/v0.3.6/README.md)
- [CLI reference](https://github.com/shellui-dev/shellui/blob/v0.3.6/docs/CLI_SYNTAX.md)
- [Release notes](https://github.com/shellui-dev/shellui/blob/v0.3.6/docs/RELEASE_NOTES.md)

## License

[MIT](https://github.com/shellui-dev/shellui/blob/v0.3.5/LICENSE.txt)
[MIT](https://github.com/shellui-dev/shellui/blob/v0.3.6/LICENSE.txt)
8 changes: 4 additions & 4 deletions src/ShellUI.Components/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,10 @@ shellui theme apply https://tweakcn.com/themes/THEME_ID --emit-override wwwroot/

## Documentation

- [README](https://github.com/shellui-dev/shellui/blob/v0.3.5/README.md)
- [Tailwind setup](https://github.com/shellui-dev/shellui/blob/v0.3.5/docs/tailwind-setup.md)
- [Release notes](https://github.com/shellui-dev/shellui/blob/v0.3.5/docs/RELEASE_NOTES.md)
- [README](https://github.com/shellui-dev/shellui/blob/v0.3.6/README.md)
- [Tailwind setup](https://github.com/shellui-dev/shellui/blob/v0.3.6/docs/tailwind-setup.md)
- [Release notes](https://github.com/shellui-dev/shellui/blob/v0.3.6/docs/RELEASE_NOTES.md)

## License

[MIT](https://github.com/shellui-dev/shellui/blob/v0.3.5/LICENSE.txt)
[MIT](https://github.com/shellui-dev/shellui/blob/v0.3.6/LICENSE.txt)
Loading
Loading