TKCode.Arc
0.1.0-preview.1
See the version list below for details.
dotnet add package TKCode.Arc --version 0.1.0-preview.1
NuGet\Install-Package TKCode.Arc -Version 0.1.0-preview.1
<PackageReference Include="TKCode.Arc" Version="0.1.0-preview.1" />
<PackageVersion Include="TKCode.Arc" Version="0.1.0-preview.1" />
<PackageReference Include="TKCode.Arc" />
paket add TKCode.Arc --version 0.1.0-preview.1
#r "nuget: TKCode.Arc, 0.1.0-preview.1"
#:package TKCode.Arc@0.1.0-preview.1
#addin nuget:?package=TKCode.Arc&version=0.1.0-preview.1&prerelease
#tool nuget:?package=TKCode.Arc&version=0.1.0-preview.1&prerelease
TKCode.Arc
Arc-style components for Avalonia, built on AtomUI. TKCode.Arc ports the free components of Arc — 110 components in 22 groups — with Arc's visual language and spring motion.
- Targets
net10.0andnet11.0; desktop (Windows, macOS, Linux). - Depends on AtomUI 6.2.6 and Avalonia 12.1.4 (exact versions).
- Design documents: design/overview.md.
Packages
| Package | Contents |
|---|---|
TKCode.Arc |
The components (UseArc()), organized like Arc's sidebar. |
TKCode.Arc.Core |
ArcDesign tokens and palette, the spring motion engine, shared primitives, 187 built-in Lucide glyphs. |
TKCode.Arc.Icons.Lucide |
The full Lucide set (2155 icons): LucideIcon control and LucideGeometry markup extension. |
TKCode.Arc.Fonts |
Geist and Geist Mono (WithArcFonts()); body text uses Inter from Avalonia.Fonts.Inter. |
Getting started
AppBuilder.Configure<App>()
.UsePlatformDetect()
.WithInterFont()
.WithArcFonts() // optional: Geist display type and Geist Mono code type
.UseAtomUI(builder =>
{
builder.UseDesktopControls();
builder.UseArc();
});
public partial class App : Application { }
<Window xmlns:arc="https://github.com/AtomUICommunity/TKCode.Arc">
<StackPanel Spacing="12">
<arc:Button Content="Save changes" />
<arc:Button Content="Cancel" Variant="Secondary" />
<arc:Switch Content="Email notifications" IsChecked="True" />
<arc:CopyButton Value="npx arc add copy-button" />
<arc:Button Content="Share" arc:Tooltip.Tip="Copy link" />
<arc:Calendar ShowToday="True" />
</StackPanel>
</Window>
Icons: Arc's built-in glyphs ({x:Static arc:ArcIcons.Check}) cover every icon the components use; any other Lucide icon
comes from the icons package:
<Window xmlns:lucide="https://github.com/AtomUICommunity/TKCode.Arc/lucide">
<lucide:LucideIcon Kind="Sparkles" Size="20" />
</Window>
Accent, appearance and motion level:
var config = new ThemeConfigBuilder()
.WithAlgorithms(ThemeAlgorithm.Default, ThemeAlgorithm.Dark)
.WithArc(arc => arc.Accent(ArcAccentPreset.Violet))
.Build();
await Application.Current!.GetThemeManager()!.ApplyThemeAsync(
new ThemeRequest(IThemeManager.DEFAULT_THEME_ID, config, ThemeTransitionReason.UserRequest));
ArcMotion.SetLevel(window, ArcMotionLevel.Reduced); // Full, Reduced or Off
Applications must not enable InvariantGlobalization (number and date formatting needs culture data).
Building
Requires the .NET 11 SDK (see global.json) and the .NET 10 runtime (AtomUI build tasks run on it).
dotnet build TKCode.Arc.slnx
dotnet test tests/TKCode.Arc.Core.Tests
dotnet test tests/TKCode.Arc.Tests
dotnet run --project gallery/TKCode.Arc.Gallery.Desktop -f net10.0
License
MIT. See THIRD-PARTY-NOTICES.md for Arc (MIT), Lucide (ISC), fonts (OFL) and the AtomUI (LGPL-3.0) dependency.
| Product | Versions 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. net11.0 is compatible. |
-
net10.0
- AtomUI.Controls (= 6.2.6)
- AtomUI.Core (= 6.2.6)
- AtomUI.Desktop.Controls (= 6.2.6)
- Avalonia (= 12.1.4)
- Avalonia.Desktop (= 12.1.4)
- TKCode.Arc.Core (>= 0.1.0-preview.1)
-
net11.0
- AtomUI.Controls (= 6.2.6)
- AtomUI.Core (= 6.2.6)
- AtomUI.Desktop.Controls (= 6.2.6)
- Avalonia (= 12.1.4)
- Avalonia.Desktop (= 12.1.4)
- TKCode.Arc.Core (>= 0.1.0-preview.1)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on TKCode.Arc:
| Package | Downloads |
|---|---|
|
TKCode.Arc.Blocks
Page-level block compositions for TKCode.Arc, built from Arc components. Ports Arc's free blocks and adds original ones. |
|
|
TKCode.Arc.AdvancedCharts
Advanced charts for TKCode.Arc: DataGrid, a spreadsheet grid with range selection, inline editing, a fill handle, Excel and Sheets clipboard, undo, sorting, filtering, grouping, totals and export. |
|
|
TKCode.Arc.Special
Special components for TKCode.Arc, the uiarc.dev "Special components" section: animated AI explainers (prompt cache, reasoning tree, speculative decoding, mixture of experts, agent loop). |
|
|
TKCode.Arc.Workflow
Workflow canvas for TKCode.Arc: show and edit graphs of steps and connections on a dotted canvas, watch a run step by step, pan and zoom, arrange automatically and undo. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on TKCode.Arc:
| Repository | Stars |
|---|---|
|
AIDotNet/Avalonia-Assistant
Windows 桌面 AI 助理。Agent 循环用 pi.net 的 Pi.CodingAgent, 界面用 TKCode.Arc,交互参考 WorkBuddy:左侧任务与空间, 中间对话,输入框里带模型、权限和工作区选择。
|
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.0-preview.5 | 42 | 10/24/2026 |
| 0.3.0-preview.4 | 52 | 10/23/2026 |
| 0.3.0-preview.3 | 53 | 10/23/2026 |
| 0.3.0-preview.2 | 51 | 10/23/2026 |
| 0.3.0-preview.1 | 55 | 10/21/2026 |
| 0.2.0-preview.1 | 52 | 10/21/2026 |
| 0.1.1-preview.1 | 57 | 10/21/2026 |
| 0.1.0-preview.1 | 43 | 10/20/2026 |