From f0dfd39b93f6aea059535de391d9b43ce9b83707 Mon Sep 17 00:00:00 2001
From: Miticcio <45257983+Miticcio@users.noreply.github.com>
Date: Mon, 8 Jan 2024 21:05:18 +0100
Subject: [PATCH] added PathIcon (#382)
---
src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj | 1 +
src/Avalonia.FuncUI/DSL/PathIcon.fs | 19 +++++++++++++++++++
2 files changed, 20 insertions(+)
create mode 100644 src/Avalonia.FuncUI/DSL/PathIcon.fs
diff --git a/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj b/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj
index b53a4370..64cdb065 100644
--- a/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj
+++ b/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj
@@ -155,6 +155,7 @@
+
diff --git a/src/Avalonia.FuncUI/DSL/PathIcon.fs b/src/Avalonia.FuncUI/DSL/PathIcon.fs
new file mode 100644
index 00000000..cb32cecd
--- /dev/null
+++ b/src/Avalonia.FuncUI/DSL/PathIcon.fs
@@ -0,0 +1,19 @@
+namespace Avalonia.FuncUI.DSL
+
+[]
+module PathIcon =
+ open Avalonia.Media
+ open Avalonia.FuncUI.Builder
+ open Avalonia.FuncUI.Types
+ open Avalonia.Controls
+
+ let create (attrs: IAttr list): IView =
+ ViewBuilder.Create(attrs)
+
+ type PathIcon with
+
+ static member data<'t when 't :> PathIcon>(geometry: Geometry) : IAttr<'t> =
+ AttrBuilder<'t>.CreateProperty(PathIcon.DataProperty, geometry, ValueNone)
+
+ static member data<'t when 't :> PathIcon>(data: string) : IAttr<'t> =
+ data |> Geometry.Parse |> PathIcon.data
\ No newline at end of file