![]() |
VOOZH | about |
dotnet add package ktsu.ThemeProvider.ImGui --version 1.0.20
NuGet\Install-Package ktsu.ThemeProvider.ImGui -Version 1.0.20
<PackageReference Include="ktsu.ThemeProvider.ImGui" Version="1.0.20" />
<PackageVersion Include="ktsu.ThemeProvider.ImGui" Version="1.0.20" />Directory.Packages.props
<PackageReference Include="ktsu.ThemeProvider.ImGui" />Project file
paket add ktsu.ThemeProvider.ImGui --version 1.0.20
#r "nuget: ktsu.ThemeProvider.ImGui, 1.0.20"
#:package ktsu.ThemeProvider.ImGui@1.0.20
#addin nuget:?package=ktsu.ThemeProvider.ImGui&version=1.0.20Install as a Cake Addin
#tool nuget:?package=ktsu.ThemeProvider.ImGui&version=1.0.20Install as a Cake Tool
Semantic theme mapping for Dear ImGui applications
This library provides seamless integration between ThemeProvider's semantic color system and Dear ImGui, automatically generating complete ImGui color palettes from semantic themes.
Add a reference to the ThemeProvider.ImGui package:
<PackageReference Include="ktsu.ThemeProvider.ImGui" />
using ktsu.ThemeProvider.ImGui;
using ktsu.ThemeProvider.Themes.Catppuccin;
// Create your semantic theme
var theme = CatppuccinMocha.CreateTheme();
// Create the mapper
var imguiMapper = new ImGuiPaletteMapper();
// Get complete ImGui color palette
var imguiColors = imguiMapper.MapTheme(theme);
// Apply to ImGui (in your render loop)
var style = ImGui.GetStyle();
foreach ((ImGuiCol colorKey, Vector4 colorValue) in imguiColors)
{
style.Colors[(int)colorKey] = colorValue;
}
The mapper intelligently maps semantic specifications to ImGui colors:
| ImGui Element | Semantic Mapping |
|---|---|
ImGuiCol.Text |
Normal/Text/Critical |
ImGuiCol.Button |
CallToAction/Widget/Critical |
ImGuiCol.WindowBg |
Normal/Background/Low |
ImGuiCol.FrameBg |
Normal/Surface/Low |
ImGuiCol.PlotHistogram |
Success/Widget/High |
ImGuiCol.TextSelectedBg |
CallToAction/Surface/Medium |
// Implement IPaletteMapper for other UI frameworks
public class MyFrameworkMapper : IPaletteMapper<MyFrameworkColor, MyColorType>
{
public string FrameworkName => "My UI Framework";
public ImmutableDictionary<MyFrameworkColor, MyColorType> MapTheme(ThemeDefinition theme)
{
// Your mapping logic here
}
}
var metadata = imguiMapper.GetMappingMetadata(theme);
Console.WriteLine($"Mapped {metadata["mapped_colors_count"]} colors");
Console.WriteLine($"Theme: {metadata["theme_name"]} ({metadata["theme_type"]})");
Before (Manual approach):
// Tedious manual mapping of 50+ colors
colors[ImGuiCol.Text] = theme.GetColor(new SemanticColorSpec(...));
colors[ImGuiCol.Button] = theme.GetColor(new SemanticColorSpec(...));
colors[ImGuiCol.WindowBg] = theme.GetColor(new SemanticColorSpec(...));
// ... 50+ more lines
// Missing colors = broken UI
// Inconsistent semantic usage
After (Systematic approach):
// One line for complete, consistent theming
var imguiColors = imguiMapper.MapTheme(theme);
// All colors mapped systematically
// Automatic fallbacks
// Semantic consistency guaranteed
See the project for a complete working example showcasing:
This library is part of the broader ThemeProvider ecosystem. Contributions are welcome! Please follow the semantic color principles:
Licensed under the MIT License. See for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 is compatible. net5.0-windows net5.0-windows was computed. net6.0 net6.0 is compatible. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 is compatible. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 netcoreapp2.0 was computed. netcoreapp2.1 netcoreapp2.1 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 netstandard2.0 is compatible. netstandard2.1 netstandard2.1 is compatible. |
| .NET Framework | net461 net461 was computed. net462 net462 was computed. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 was computed. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen40 tizen40 was computed. tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 2 NuGet packages that depend on ktsu.ThemeProvider.ImGui:
| Package | Downloads |
|---|---|
|
ktsu.ImGuiStyler
A library for expressively styling ImGui.NET interfaces. |
|
|
ktsu.ImGui.Styler
A powerful styling library for ImGui.NET interfaces featuring 50+ built-in themes (Catppuccin, Tokyo Night, Gruvbox, Dracula, Nord, and more), interactive theme browser, scoped styling system for colors and style variables, advanced color manipulation with hex support and accessibility features, automatic content alignment and centering, semantic text colors, button alignment, and indentation utilities. |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.20 | 82 | 6/15/2026 |
| 1.0.19 | 86 | 6/13/2026 |
| 1.0.18 | 207 | 6/12/2026 |
| 1.0.17 | 1,202 | 2/19/2026 |
| 1.0.17-pre.1 | 73 | 2/17/2026 |
| 1.0.16 | 122 | 2/16/2026 |
| 1.0.16-pre.1 | 77 | 2/16/2026 |
| 1.0.15 | 119 | 2/14/2026 |
| 1.0.14 | 122 | 2/14/2026 |
| 1.0.14-pre.4 | 87 | 2/1/2026 |
| 1.0.14-pre.3 | 75 | 1/31/2026 |
| 1.0.14-pre.2 | 80 | 1/31/2026 |
| 1.0.14-pre.1 | 74 | 1/31/2026 |
| 1.0.13 | 133 | 1/30/2026 |
| 1.0.12 | 125 | 1/28/2026 |
| 1.0.11 | 1,283 | 1/27/2026 |
| 1.0.11-pre.4 | 79 | 1/24/2026 |
| 1.0.11-pre.3 | 176 | 11/24/2025 |
| 1.0.11-pre.2 | 145 | 11/23/2025 |
| 1.0.11-pre.1 | 162 | 11/23/2025 |
## v1.0.20 (patch)
Changes since v1.0.19:
- Bump Polyfill from 10.8.1 to 10.10.0 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump the ktsu group with 9 updates ([@dependabot[bot]](https://github.com/dependabot[bot]))
## v1.0.19 (patch)
Changes since v1.0.18:
- Sync .github\workflows\dotnet.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.18 (patch)
Changes since v1.0.17:
- Sync .github\workflows\update-sdks.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .github\workflows\dotnet.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .github\dependabot.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .gitignore ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .gitattributes ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Bump the ktsu group with 1 update ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump Polyfill from 10.8.0 to 10.8.1 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump the ktsu group with 4 updates ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump Polyfill from 10.7.2 to 10.8.0 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump the ktsu group with 2 updates ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump Polyfill from 10.7.0 to 10.7.2 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump the ktsu group with 1 update ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump the ktsu group with 1 update ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump Polyfill from 10.6.0 to 10.7.0 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump Polyfill from 10.5.1 to 10.6.0 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump MSTest.Sdk from 4.2.2 to 4.2.3 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump the microsoft group with 2 updates ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump Polyfill from 10.5.0 to 10.5.1 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump Polyfill from 10.4.0 to 10.5.0 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump Polyfill from 9.7.7 to 10.4.0 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump Microsoft.SourceLink.AzureRepos.Git and Microsoft.SourceLink.GitHub ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump System.Numerics.Vectors from 4.6.0 to 4.6.1 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump MSTest.Sdk from 4.1.0 to 4.2.2 ([@dependabot[bot]](https://github.com/dependabot[bot]))
- Bump the ktsu group with 5 updates ([@dependabot[bot]](https://github.com/dependabot[bot]))
## v1.0.17 (patch)
Changes since v1.0.16:
- Update documentation in CLAUDE.md and README.md; add TAGS.md for semantic keywords ([@matt-edmondson](https://github.com/matt-edmondson))
- Add SonarLint configuration for connected mode ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.17-pre.1 (prerelease)
No significant changes detected since v1.0.17.
## v1.0.16 (patch)
Changes since v1.0.15:
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .github\workflows\dotnet.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .github\workflows\dotnet.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .github\workflows\dotnet.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .github\workflows\dotnet.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.16-pre.1 (prerelease)
No significant changes detected since v1.0.16.
## v1.0.15 (patch)
Changes since v1.0.14:
- Remove legacy build scripts ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.14 (patch)
Changes since v1.0.13:
- Sync .github\workflows\dotnet.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\update-winget-manifests.ps1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\update-winget-manifests.ps1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync COPYRIGHT.md ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\update-winget-manifests.ps1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync COPYRIGHT.md ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.14-pre.7 (prerelease)
Changes since v1.0.14-pre.6:
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\update-winget-manifests.ps1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.14-pre.6 (prerelease)
Changes since v1.0.14-pre.5:
- Sync scripts\update-winget-manifests.ps1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.14-pre.5 (prerelease)
Changes since v1.0.14-pre.4:
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.14-pre.4 (prerelease)
Changes since v1.0.14-pre.3:
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.14-pre.3 (prerelease)
Changes since v1.0.14-pre.2:
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync global.json ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync COPYRIGHT.md ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.14-pre.2 (prerelease)
Changes since v1.0.14-pre.1:
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.14-pre.1 (prerelease)
No significant changes detected since v1.0.14.
## v1.0.13 (patch)
Changes since v1.0.12:
- Remove .github\workflows\project.yml ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.12 (patch)
Changes since v1.0.11:
- Refactor null check in MapTheme method to use Ensure.NotNull ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.11 (patch)
Changes since v1.0.10:
- Migrate to dotnet 10 ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.11-pre.4 (prerelease)
Changes since v1.0.11-pre.3:
- Sync scripts\PSBuild.psm1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .github\workflows\update-sdks.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .github\workflows\dotnet.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .gitignore ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.11-pre.3 (prerelease)
Changes since v1.0.11-pre.2:
- Sync scripts\update-winget-manifests.ps1 ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.11-pre.2 (prerelease)
Changes since v1.0.11-pre.1:
- Merge remote-tracking branch 'refs/remotes/origin/main' ([@ktsu[bot]](https://github.com/ktsu[bot]))
- Sync .github\workflows\dotnet.yml ([@ktsu[bot]](https://github.com/ktsu[bot]))
## v1.0.11-pre.1 (prerelease)
No significant changes detected since v1.0.11.
## v1.0.10 (patch)
Changes since v1.0.9:
- Refactor SonarQube scanner steps and update coverage report paths in CI workflow ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.9 (patch)
Changes since v1.0.8:
- Update sdk ([@matt-edmondson](https://github.com/matt-edmondson))
- Update package versions and refactor theme provider interfaces ([@matt-edmondson](https://github.com/matt-edmondson))
- Update ktsu.ImGuiApp package version to 2.1.0 ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.9-pre.3 (prerelease)
Changes since v1.0.9-pre.2:
- Update package versions and refactor theme provider interfaces ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.9-pre.2 (prerelease)
Changes since v1.0.9-pre.1:
- Bump the ktsu group with 1 update ([@dependabot[bot]](https://github.com/dependabot[bot]))
## v1.0.9-pre.1 (prerelease)
No significant changes detected since v1.0.9.
## v1.0.8 (patch)
Changes since v1.0.7:
- Refactor method name for palette generation in SemanticColorMapper ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.7 (patch)
Changes since v1.0.6:
- Add complete palette generation and improve ImGui color mapping ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.6 (patch)
Changes since v1.0.5:
- [patch] Force patch ([@matt-edmondson](https://github.com/matt-edmondson))
- Update package versions and UI color mappings ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.6-pre.1 (prerelease)
No significant changes detected since v1.0.6.
## v1.0.5 (patch)
Changes since v1.0.4:
- Upgrade ktsu.Sdk to version 1.49.0 ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.4 (patch)
Changes since v1.0.3:
- Add ThemeRegistry and update documentation for ThemeProvider ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.3 (patch)
Changes since v1.0.2:
- Add new themes: Everforest Dark Hard, Everforest Dark Soft, Everforest Light Hard, and Everforest Light Soft ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.2 (patch)
Changes since v1.0.1:
- Refactor Catppuccin, Dracula, and other themes to streamline Neutrals collection ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.1 (patch)
Changes since v1.0.0:
- Add new themes: Dracula, Everforest, Gruvbox, Monokai, Nightfly, One Dark, Tokyo Night, and VSCode ([@matt-edmondson](https://github.com/matt-edmondson))
## v1.0.0 (major)
- Add Catppuccin themes: Frappe, Latte, and Macchiato implementations ([@matt-edmondson](https://github.com/matt-edmondson))
- Refactor ThemeProviderDemo to enhance semantic color grid rendering ([@matt-edmondson](https://github.com/matt-edmondson))
- Refactor ImGuiPaletteMapper for improved priority distribution and contrast ([@matt-edmondson](https://github.com/matt-edmondson))
- Refactor SemanticColorMapper and ThemeProviderDemo for improved lightness calculations and semantic color handling ([@matt-edmondson](https://github.com/matt-edmondson))
- Enhance SemanticColorMapper and ImGuiPaletteMapper for improved color contrast and priority handling ([@matt-edmondson](https://github.com/matt-edmondson))
- Enhance SemanticColorMapper and ThemeProviderDemo for complete semantic color mapping ([@matt-edmondson](https://github.com/matt-edmondson))
- Enhance color extrapolation logic in SemanticColorMapper ([@matt-edmondson](https://github.com/matt-edmondson))
- Refactor SemanticColorMapper for improved lightness-based color mapping ([@matt-edmondson](https://github.com/matt-edmondson))
- Add ColorRange and SemanticColorMapper classes for enhanced color interpolation and mapping ([@matt-edmondson](https://github.com/matt-edmondson))
- Add new semantic color system and Catppuccin Mocha theme implementation ([@matt-edmondson](https://github.com/matt-edmondson))
- Refactor semantic color specifications to remove 'IsPrimary' property ([@matt-edmondson](https://github.com/matt-edmondson))
- Refactor ImGuiPaletteMapper to enhance semantic color usage ([@matt-edmondson](https://github.com/matt-edmondson))
- Implement ImGui palette mapping and enhance semantic color integration ([@matt-edmondson](https://github.com/matt-edmondson))
- Refactor ThemeProviderDemo to fully integrate semantic color system ([@matt-edmondson](https://github.com/matt-edmondson))
- Refactor ThemeProvider to implement semantic color system and Catppuccin Mocha theme ([@matt-edmondson](https://github.com/matt-edmondson))
- Enhance ThemeProviderDemo with UI improvements and semantic palette features ([@matt-edmondson](https://github.com/matt-edmondson))
- Add Catppuccin Mocha theme implementation and color management utilities ([@matt-edmondson](https://github.com/matt-edmondson))