Skip to content

Commit 8ac6245

Browse files
Add Icon(Symbol) factory overload
Adds an overload that takes the WinUI Symbol enum directly for better discoverability and IntelliSense. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 2f7c9ba commit 8ac6245

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

src/Reactor/Elements/Dsl.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1195,6 +1195,9 @@ public static BitmapIconData BitmapIcon(global::System.Uri source, bool showAsMo
11951195
/// <summary>Creates a standalone icon element from an <see cref="IconData"/> instance.</summary>
11961196
public static Core.IconElement Icon(IconData data) => new(data);
11971197

1198+
/// <summary>Creates a standalone symbol icon element from a <see cref="Symbol"/> enum value.</summary>
1199+
public static Core.IconElement Icon(Symbol symbol) => new(new SymbolIconData(symbol.ToString()));
1200+
11981201
/// <summary>Creates a standalone symbol icon element (e.g. <c>Icon("Home")</c>).</summary>
11991202
public static Core.IconElement Icon(string symbol) => new(new SymbolIconData(symbol));
12001203

tests/Reactor.Tests/ElementRecordCoverageTests.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,14 @@ public void Icon_Factory_From_String_Creates_SymbolIconData()
6262
Assert.Equal("Home", ((SymbolIconData)el.Data).Symbol);
6363
}
6464

65+
[Fact]
66+
public void Icon_Factory_From_Symbol_Enum_Creates_SymbolIconData()
67+
{
68+
var el = Factories.Icon(Microsoft.UI.Xaml.Controls.Symbol.Home);
69+
Assert.IsType<SymbolIconData>(el.Data);
70+
Assert.Equal("Home", ((SymbolIconData)el.Data).Symbol);
71+
}
72+
6573
[Fact]
6674
public void AppBar_Data_Variants_Construct()
6775
{

0 commit comments

Comments
 (0)