MintedTextEditor.Maui
0.1.1
dotnet add package MintedTextEditor.Maui --version 0.1.1
NuGet\Install-Package MintedTextEditor.Maui -Version 0.1.1
<PackageReference Include="MintedTextEditor.Maui" Version="0.1.1" />
<PackageVersion Include="MintedTextEditor.Maui" Version="0.1.1" />
<PackageReference Include="MintedTextEditor.Maui" />
paket add MintedTextEditor.Maui --version 0.1.1
#r "nuget: MintedTextEditor.Maui, 0.1.1"
#:package MintedTextEditor.Maui@0.1.1
#addin nuget:?package=MintedTextEditor.Maui&version=0.1.1
#tool nuget:?package=MintedTextEditor.Maui&version=0.1.1
<p align="center"> <img src="images/logo.png" alt="MintedTextEditor logo" width="120" /> </p>
MintedTextEditor
Rich text editing for .NET MAUI, rendered entirely on a SkiaSharp canvas.
MintedTextEditor is organized into three packages:
MintedTextEditor.Core: document model, editing engine, layout, formatting, commands, events, HTML interop.MintedTextEditor.SkiaSharp: drawing backend implementingIDrawingContext.MintedTextEditor.Maui: MAUI control (MintedEditorView) and platform integration.
Table of Contents
- Highlights
- Package Layout
- Platform Support
- Quick Start
- Sample App
- Configuration
- Documentation
- Build and Test
- Contributing
- Code of Conduct
- License
Highlights
- Full-canvas rendering using SkiaSharp (no native text editor controls).
- Character formatting: bold, italic, underline, strikethrough, subscript, superscript, font family/size, text color, highlight.
- Paragraph formatting: alignment, indentation, line spacing, headings, lists, block quote.
- Inline content: hyperlinks, images, tables.
- Editing primitives: caret navigation, selection, clipboard, undo/redo.
- Toolbar and command architecture with customizable item sets.
- Three built-in toolbar icon packs (Lucide, Heroicons, Material Symbols) — all embedded in the
MintedTextEditor.Corepackage, no app-bundle asset setup required. - Theme-aware toolbar icons: automatically recolored to the current theme's foreground at draw time, including full dark-mode support.
- HTML import/export pipeline.
- Theming support (light, dark, high contrast, and custom styles).
- Accessibility and localization support including RTL scenarios.
Package Layout
src/
MintedTextEditor.Core/
MintedTextEditor.SkiaSharp/
MintedTextEditor.Maui/
samples/
SampleApp.Maui/
tests/
MintedTextEditor.Core.Tests/
Platform Support
| Platform | Minimum Version |
|---|---|
| Android | API 21 (Android 5.0) |
| iOS | 15.0 |
| macOS (Mac Catalyst) | 15.0 |
| Windows | 10.0.17763 |
Quick Start
1) Install package
dotnet add package MintedTextEditor.Maui
2) Register services
In MauiProgram.cs:
using MintedTextEditor.Maui;
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseMintedTextEditor();
3) Add control in XAML
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:minted="https://schemas.mintedtexteditor.com/2026"
x:Class="MyApp.MainPage">
<minted:MintedEditorView
x:Name="Editor"
ShowToolbar="True"
PlaceholderText="Start typing..." />
</ContentPage>
4) Load or export HTML
Editor.LoadHtml("<p>Hello <strong>world</strong></p>");
string html = Editor.GetHtml();
Sample App
The repository includes a runnable MAUI sample with focused pages for:
- basic editing
- formatting
- load/save and HTML
- images and hyperlinks
- tables
- localization
- theming and toolbar icon packs
Project: samples/SampleApp.Maui
Configuration
Theming
Editor.Theme = EditorTheme.CreateDark();
Editor.UseSystemTheme = false;
Toolbar icon packs
Three icon packs are included and embedded in MintedTextEditor.Core — no extra files are needed in the app project.
| Pack | Style |
|---|---|
ToolbarIconPack.Lucide |
Outlined, 2 px stroke (default) |
ToolbarIconPack.Heroicons |
Outlined, 1.5 px stroke |
ToolbarIconPack.MaterialSymbols |
Filled, Material Design paths |
Editor.ToolbarIconPack = ToolbarIconPack.Lucide; // default
Editor.ToolbarIconPack = ToolbarIconPack.Heroicons;
Editor.ToolbarIconPack = ToolbarIconPack.MaterialSymbols;
All icons are rendered with black ink and recolored at draw time using SKColorFilter (SrcIn) to match the current theme color. Switching between light and dark themes updates icon colors automatically without reloading assets.
Events
Editor.TextChanged += (_, e) => { /* document changed */ };
Editor.SelectionChanged += (_, e) => { /* selection changed */ };
Editor.HyperlinkClicked += (_, e) => { /* inspect/cancel open */ };
For deeper API details, see docs/getting-started.md, docs/commands-events.md, and docs/toolbar-customization.md.
Documentation
| Document | Description |
|---|---|
| Getting Started | Installation, setup, first editor |
| Document Model | Blocks, inlines, and text runs |
| Formatting | Character and paragraph formatting |
| Toolbar Customization | Toolbar groups and items |
| Theming | Built-in and custom themes |
| Commands & Events | Command and event reference |
| HTML Interop | HTML import/export behavior |
| Images & Hyperlinks | Inline media and links |
| Tables | Table creation and editing |
| Accessibility | Accessibility guidance |
| Architecture | Internal architecture overview |
Build and Test
git clone https://github.com/TheEightBot/MintedTextEditor.git
cd MintedTextEditor
# Build solution
dotnet build
# Run core tests
dotnet test tests/MintedTextEditor.Core.Tests/
# Build MAUI project (after installing MAUI workload)
dotnet workload install maui
dotnet build src/MintedTextEditor.Maui/
# Build sample app
dotnet build samples/SampleApp.Maui/
Contributing
Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request.
Code of Conduct
This project follows the Contributor Covenant Code of Conduct.
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-android36.0 is compatible. net10.0-ios26.0 is compatible. net10.0-maccatalyst26.0 is compatible. net10.0-windows10.0.19041 is compatible. |
-
net10.0-android36.0
- Microsoft.Maui.Controls (>= 10.0.20)
- MintedTextEditor.Core (>= 0.1.1)
- MintedTextEditor.SkiaSharp (>= 0.1.1)
- SkiaSharp.Views.Maui.Controls (>= 3.119.2)
- Svg.Skia (>= 3.2.1)
-
net10.0-ios26.0
- Microsoft.Maui.Controls (>= 10.0.20)
- MintedTextEditor.Core (>= 0.1.1)
- MintedTextEditor.SkiaSharp (>= 0.1.1)
- SkiaSharp.Views.Maui.Controls (>= 3.119.2)
- Svg.Skia (>= 3.2.1)
-
net10.0-maccatalyst26.0
- Microsoft.Maui.Controls (>= 10.0.20)
- MintedTextEditor.Core (>= 0.1.1)
- MintedTextEditor.SkiaSharp (>= 0.1.1)
- SkiaSharp.Views.Maui.Controls (>= 3.119.2)
- Svg.Skia (>= 3.2.1)
-
net10.0-windows10.0.19041
- Microsoft.Maui.Controls (>= 10.0.20)
- MintedTextEditor.Core (>= 0.1.1)
- MintedTextEditor.SkiaSharp (>= 0.1.1)
- SkiaSharp.Views.Maui.Controls (>= 3.119.2)
- Svg.Skia (>= 3.2.1)
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 |
|---|---|---|
| 0.1.1 | 33 | 3/27/2026 |