Xieyi.Themes.Flux 2.0.1

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

Xieyi

License .NET

A modern, minimalist Avalonia UI theme and custom controls library.

中文

Overview

Xieyi provides a collection of beautifully designed, highly customizable UI controls for Avalonia UI, combined with the Flux theme - a modern, minimalist design language that emphasizes clarity, simplicity, and elegance.

Features

  • Modern Minimalist Design: Clean, elegant UI components following contemporary design principles
  • Light/Dark Theme Support: Seamless theme switching with carefully crafted color palettes
  • Custom Controls: A curated set of essential UI controls
    • TagInput: Versatile tag/label input control
    • Avatar: Flexible avatar display with group support
    • Badge: Notification and status indicators
    • Breadcrumb: Navigation breadcrumb trail
    • Timeline: Event timeline visualization
    • Overlay: Unified toast + notification system (top-center light or six-position rich notifications)
    • Dialog: Generic blocking popup with custom content + MessageBox preset
  • Localization: Built-in support for multiple languages (zh-CN, en-US)
  • Design Tokens: Comprehensive design token system for consistent styling
  • Cross-Platform: Runs on Windows, macOS, Linux, and more via Avalonia UI

Getting Started

Installation

dotnet add package Xieyi
dotnet add package Xieyi.Themes.Flux

Usage

Include the Flux theme in your application:

<Application x:Class="MyApp.App"
             xmlns="https://github.com/avaloniaui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:xieyi="https://xieyi.dev/avalonia">
    <Application.Styles>
        <xieyi:XieyiFluxTheme Locale="zh-CN" />
    </Application.Styles>
</Application>

Use Xieyi controls in your views:

<Window xmlns:xieyi="https://xieyi.dev/avalonia">
    <StackPanel Margin="20">
        <xieyi:TagInput />
        <xieyi:Avatar Content="JD" />
        <xieyi:Badge Content="5">
            <Button>Messages</Button>
        </xieyi:Badge>
    </StackPanel>
</Window>

Overlays and Dialogs (v2)

using Xieyi.Hosting;
using Xieyi.Services;
using Xieyi.Abstractions.Overlay;
using Xieyi.Abstractions.Dialog;

// 1. Configure once at startup
XieyiHost.Configure(new OverlayService(), new DialogService());

// 2. Show a Toast
XieyiHost.Overlays.Show(this, new OverlayOptions
{
    Kind = OverlayKind.Toast,
    Message = "Saved.",
    Severity = NotificationSeverity.Success,
});

// 3. Show a Notification
XieyiHost.Overlays.Show(this, new OverlayOptions
{
    Kind = OverlayKind.Notification,
    Title = "Update available",
    Message = "Version 2.0 is ready.",
    Position = OverlayPosition.TopRight,
});

// 4. Show a MessageBox
var result = await XieyiHost.Dialogs.ShowMessageBoxAsync(this, new MessageBoxOptions
{
    Title = "Confirm",
    Message = "Continue?",
    Buttons = MessageBoxButtons.YesNo,
    Icon = NotificationSeverity.Warning,
});

See docs/MIGRATION-v2.md if you're upgrading from v1.x.

Project Structure

Xieyi/
├── src/
│   ├── Xieyi/                    # Custom controls library
│   ├── Xieyi.Themes.Flux/        # Flux theme implementation
│   └── Xieyi.Charting/           # Charting engine
├── demo/                         # Demo applications
├── tests/                        # Unit tests
├── scripts/                      # Build scripts (build.sh, pack.sh)
├── .github/workflows/            # CI/CD (release.yml)
├── CHANGELOG.md                  # Version changelog
└── NuGet.Config                  # NuGet source configuration

Building from Source

Prerequisites

Build

# Linux/macOS
./scripts/build.sh

# Windows
.\scripts\build.ps1

Local Test Pack (for development testing)

# Pack as release version (e.g., 1.0.2)
./scripts/pack.sh 1.0.2

# Pack with pre-release suffix (e.g., 1.0.2-beta1)
./scripts/pack.sh 1.0.2 beta1

Packages will be produced in the nupkgs/ directory.

Automated Publishing

Pushing a v* tag triggers GitHub Actions to automatically:

  1. Build all projects in Release
  2. Pack NuGet packages
  3. Push to NuGet.org
  4. Create a GitHub Release with notes from CHANGELOG.md
# Tag and push to trigger CI/CD
git tag v1.0.2
git push origin v1.0.2

Run Demo

cd demo/Xieyi.Demo.Desktop
dotnet run

Documentation

Version Compatibility

Xieyi Version Avalonia Version
1.x >= 12.0.0

License

This project is licensed under the Apache License 2.0.

Acknowledgments

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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

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
2.0.1 116 7/26/2026
2.0.0 103 7/25/2026
2.0.0-beta1 101 7/25/2026
1.0.2 116 6/22/2026
1.0.1 113 6/1/2026
1.0.0 108 6/1/2026