FlagstoneUI.Core 0.0.1-preview1

This is a prerelease version of FlagstoneUI.Core.
There is a newer version of this package available.
See the version list below for details.
dotnet add package FlagstoneUI.Core --version 0.0.1-preview1
                    
NuGet\Install-Package FlagstoneUI.Core -Version 0.0.1-preview1
                    
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="FlagstoneUI.Core" Version="0.0.1-preview1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FlagstoneUI.Core" Version="0.0.1-preview1" />
                    
Directory.Packages.props
<PackageReference Include="FlagstoneUI.Core" />
                    
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 FlagstoneUI.Core --version 0.0.1-preview1
                    
#r "nuget: FlagstoneUI.Core, 0.0.1-preview1"
                    
#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 FlagstoneUI.Core@0.0.1-preview1
                    
#: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=FlagstoneUI.Core&version=0.0.1-preview1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FlagstoneUI.Core&version=0.0.1-preview1&prerelease
                    
Install as a Cake Tool

<div align="center"> <img src="assets/logov1.svg" alt="Flagstone UI Logo" width="400" height="400"> <h1>Flagstone UI</h1> <p><strong>A customisable UI framework for .NET MAUI</strong></p> <h2>⚠️ WARNING! Experimental ⚠️</h2> </div>

Bootstrap for .NET MAUI. A token-based theming system that makes it easy to create beautiful, consistent UIs without deep platform knowledge.

Demo Video

Quick Start

# Clone and explore
git clone https://github.com/matt-goldman/flagstone-ui.git
cd flagstone-ui

# Run the sample app (requires .NET 10 SDK + MAUI workload)
dotnet build
dotnet run --project samples/FlagstoneUI.SampleApp

📚 Full Documentation & Guides | 🚀 Quickstart Guide

What Does It Look Like?


<FsButton
    Text="Click Me"
    BackgroundColor="{DynamicResource Color.Primary}"
    CornerRadius="{DynamicResource Shape.CornerRadius.Medium}" />


<FsEntry
    Placeholder="Enter email"
    BackgroundColor="{DynamicResource Color.Surface}"
    BorderColor="{DynamicResource Color.Border}">
    <FsEntry.Behaviors>
        <toolkit:EmailValidationBehavior />
    </FsEntry.Behaviors>
</FsEntry>


<FsCard
    BackgroundColor="{DynamicResource Color.Surface}"
    CornerRadius="{DynamicResource Shape.CornerRadius.Large}"
    Padding="{DynamicResource Spacing.Medium}">
    <Label Text="Card Content" />
</FsCard>

Note: Above assumes you're using XAML global and implicit namespaces. Without that you would consume these with a namespace prefix like <fs:FsButton>...</fs:FsButton>.

Key Concepts

Design Tokens → Define your design system once (colors, spacing, typography, shapes) Theme Files → Apply tokens to controls via XAML resource dictionaries Flagstone Controls → Enhanced MAUI controls that expose themable properties

Think of it like Bootstrap for web dev: you're still using standard HTML elements, but with consistent, customizable styling.

Why Flagstone UI?

Without Flagstone With Flagstone
Write platform-specific handlers for styling Use XAML properties that work everywhere
Different code for iOS/Android/Windows borders One BorderColor property
Scattered styling across codebehind Centralized theme tokens
Reinvent styling for each app Reusable, shareable themes

Example: Getting a rounded, bordered text entry:


<Entry Placeholder="Email" />





<FsEntry
    Placeholder="Email"
    CornerRadius="8"
    BorderColor="#2196F3"
    BorderWidth="2" />

Pairs perfectly with MAUI Community Toolkit - Flagstone handles theming, MCT provides behaviors/converters.

Learn more: Architecture | Technical Plan

Current Status

🎯 Available Now:

  • ✅ Token system foundation
  • ✅ Three core controls: FsButton, FsEntry, FsCard
  • ✅ Material theme included
  • ✅ Sample app with multiple themes
  • Complete documentation

🚧 In Progress:

  • 🔨 Additional controls (labels, lists, navigation)
  • 🔨 Bootstrap theme converter (convert web design systems to Flagstone themes)
  • 🔨 AI-powered theme generation tooling

🔮 Planned:

  • Visual theme generator (web & native)
  • Theme sharing gallery
  • Figma/Adobe XD to Flagstone converters

See the full roadmap for details.

Project Structure

flagstone-ui/
├── src/
│   ├── FlagstoneUI.Core/          # Core controls and token system
│   ├── FlagstoneUI.Themes.Material/ # Material theme
│   └── FlagstoneUI.Blocks/        # Reusable app screens (planned for MVP)
├── samples/
│   ├── FlagstoneUI.SampleApp/     # Main showcase app
│   └── FlagstoneUI.ThemePlayground/ # Theme experimentation
├── docs/                          # 📚 Complete documentation
└── tools/                         # AI tooling & converters

Note: The Blocks project will contain common UI building blocks (signup/signin forms, basic CRUD, etc.) and is planned as an extension for the MVP milestone. Currently at POC stage.

Contributing

This is an early experiment - feedback is gold! 🙏

Most important: Is this useful? Tell me if you'd use it (or why you wouldn't). This helps validate the project direction.

Ways to help:

  • 💬 Try the samples and share feedback (Issues welcome!)
  • 🐛 Report bugs or suggest features
  • 💻 Submit PRs (bug fixes, docs, new controls)
  • 🎨 Create and share themes
  • 📖 Improve documentation

Questions? Open a Discussion or ping @matt-goldman


License: MIT | Status: Experimental POC | Compatibility: .NET 10 + MAUI

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-android36.0 is compatible.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-ios26.0 is compatible.  net10.0-maccatalyst was computed.  net10.0-maccatalyst26.0 is compatible.  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 (2)

Showing the top 2 NuGet packages that depend on FlagstoneUI.Core:

Package Downloads
FlagstoneUI.Themes.Material

FlagstoneUI Material theme library providing Material Design styling for .NET MAUI controls.

FlagstoneUI.Integrations.MCT

FlagstoneUI integration library for MAUI Community Toolkit.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.1 49 3/11/2026
2.0.0 120 2/5/2026
0.0.3 109 2/4/2026
0.0.2 106 2/4/2026
0.0.1 317 12/16/2025
0.0.1-preview1 452 12/10/2025