Ambystech.Elaris.UI
0.1.7
See the version list below for details.
dotnet add package Ambystech.Elaris.UI --version 0.1.7
NuGet\Install-Package Ambystech.Elaris.UI -Version 0.1.7
<PackageReference Include="Ambystech.Elaris.UI" Version="0.1.7" />
<PackageVersion Include="Ambystech.Elaris.UI" Version="0.1.7" />
<PackageReference Include="Ambystech.Elaris.UI" />
paket add Ambystech.Elaris.UI --version 0.1.7
#r "nuget: Ambystech.Elaris.UI, 0.1.7"
#:package Ambystech.Elaris.UI@0.1.7
#addin nuget:?package=Ambystech.Elaris.UI&version=0.1.7
#tool nuget:?package=Ambystech.Elaris.UI&version=0.1.7
Ambystech.Elaris.UI
A lightweight Terminal UI library for .NET with true 24-bit RGB color support. Built for modern terminals with cross-platform support.
Features
- True 24-bit RGB Color: Full truecolor support via ANSI escape sequences
- Zero Dependencies: Pure .NET implementation with no external packages
- Cross-Platform: Works on Windows, macOS, and Linux
- Modern Architecture: Clean, extensible widget-based design
- High Performance: Double-buffered rendering with minimal overhead
- Multi-Target: Supports .NET 8.0, .NET 9.0, and .NET 10.0
Quick Start
Installation
dotnet add package Ambystech.Elaris.UI
Basic Usage
using Ambystech.Elaris.UI;
// Create application
var app = new Application();
// Create main window
var window = new Window("Hello Elaris")
{
Width = 80,
Height = 24
};
// Add widgets
var label = new Label("Welcome to Elaris!")
{
ForegroundColor = Color.FromRgb(100, 200, 255)
};
window.Add(label);
// Run application
app.Run(window);
Cross Platform Compatibility
Elaris.UI is designed to work seamlessly across Windows, macOS, and Linux terminals that support ANSI escape codes. Ensure your terminal supports truecolor for the best experience.
Windows Terminal
iTerm2 (macOS)
Building from Source
# Clone repository
git clone https://github.com/ambystechcom/Ambystech.Elaris.UI.git elaris
cd elaris/lib
# Restore dependencies
dotnet restore
# Build library
dotnet build
# Run tests
dotnet test
Architecture
Core Components
- Screen: Terminal screen abstraction with buffering
- Widget: Base class for all UI components
- EventLoop: Main application loop and event handling
- AnsiRenderer: 24-bit RGB color rendering via ANSI codes
- InputHandler: Keyboard and mouse input processing
Widget Hierarchy
Widget (abstract base)
├── Container
│ ├── Window
│ ├── Frame
│ └── Panel
├── Label
├── TextField
├── TextView
└── StatusBar
License
MIT License - see LICENSE file for details
Contributing
Contributions welcome! Please open an issue or PR on GitHub.
Links
- GitHub: https://github.com/ambystechcom/Ambystech.Elaris.UI
- NuGet: https://www.nuget.org/packages/Ambystech.Elaris.UI
- Documentation: (Coming soon)
| Product | Versions 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 is compatible. 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. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Ambystech.Elaris.UI:
| Package | Downloads |
|---|---|
|
Ambystech.Elaris.UI.CodeEditor.Plugins
File-based syntax highlighting plugins for Elaris.UI CodeEditor |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.0-beta0021 | 114 | 4/19/2026 |
| 0.2.0-beta0013 | 106 | 4/19/2026 |
| 0.2.0-beta0011 | 129 | 12/30/2025 |
| 0.2.0-beta0010 | 119 | 12/30/2025 |
| 0.2.0-beta0008 | 220 | 11/26/2025 |
| 0.2.0-beta0004 | 224 | 11/5/2025 |
| 0.2.0-beta0002 | 229 | 10/28/2025 |
| 0.2.0-alpha0023 | 94 | 4/19/2026 |
| 0.2.0-alpha0009 | 202 | 12/5/2025 |
| 0.2.0-alpha0005 | 219 | 11/5/2025 |
| 0.2.0-alpha0003 | 217 | 10/28/2025 |
| 0.1.7 | 114 | 4/20/2026 |
| 0.1.6 | 104 | 4/19/2026 |
| 0.1.5 | 144 | 1/8/2026 |
| 0.1.4 | 126 | 12/28/2025 |
| 0.1.3 | 233 | 11/5/2025 |
| 0.1.2 | 240 | 10/28/2025 |
| 0.1.1 | 319 | 10/28/2025 |