Table of Contents

Namespace Dmnk.Icons.Blazor

NuGet Version

Allow using icons defined using Dmnk.Icons.Core in Blazor applications by generating MarkupStrings. See BlazorIconExtensions.

Example

public class MyIconDefinition : SvgIconDefinition("my-icon") 
{
    public override string Svg => """<path d="some svg path here"/>""";
}

public class MyCustomBlazorIcon : CustomIconDefinition("custom-icon") 
{
    public override MarkupString ToMarkup() => 
        Some.Other.Blazor.Icon.Library.Icon1.AsMarkupString();
}

public static class MyIcons 
{
    // since these are getters, the compiler can strip out unused icons
    public static IconDefinition MyIcon => new MyIconDefinition();
    public static IconDefinition MyCustomBlazorIcon => new MyCustomBlazorIcon();
}

Program.cs:

BlazorIconExtensions.DefaultColor = "black"; // or whatever css color value you want
@using Dmnk.Icons.Blazor

<div>@MyIcons.MyIcon.Size20.ToMarkupString()</div>

<div>@MyIcons.MyCustomBlazorIcon.Size48.ToMarkupString()</div>

Classes

BlazorIconExtensions

Helpers to convert Icons to Blazor MarkupStrings for rendering in Blazor components.

CustomIconDefinition

Allows defining a custom blazor-only icon directly as a markup string. This is useful especially for using Icon libraries that were designed for Blazor and don't have a direct SVG representation, but can be rendered as a Blazor component or markup string.