diff --git a/src/UmbNav.Core/UmbNav.Core.csproj b/src/UmbNav.Core/UmbNav.Core.csproj
index 8503f68..3242283 100644
--- a/src/UmbNav.Core/UmbNav.Core.csproj
+++ b/src/UmbNav.Core/UmbNav.Core.csproj
@@ -42,6 +42,9 @@
+
+ 13.2.2
+
diff --git a/src/UmbNav.Core/ValueConnectors/UmbNavValueConnector.cs b/src/UmbNav.Core/ValueConnectors/UmbNavValueConnector.cs
index d3961c5..1b00f48 100644
--- a/src/UmbNav.Core/ValueConnectors/UmbNavValueConnector.cs
+++ b/src/UmbNav.Core/ValueConnectors/UmbNavValueConnector.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
+using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
-using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Deploy;
using Umbraco.Cms.Core.Models;
using Umbraco.Extensions;
@@ -14,80 +14,86 @@ namespace UmbNav.Core.ValueConnectors
///
public class UmbNavValueConnector : IValueConnector
{
+ public IEnumerable PropertyEditorAliases => new[] { "UmbNav" };
+
#if NET8_0_OR_GREATER
- public string ToArtifact(object value, IPropertyType propertyType, ICollection dependencies, IContextCache contextCache)
- {
- if (AppSettingsManager.GetDisableUmbracoCloudSync())
- return null;
+ public async Task ToArtifactAsync(object? value, IPropertyType propertyType, ICollection dependencies, IContextCache contextCache)
+ {
+ if (AppSettingsManager.GetDisableUmbracoCloudSync())
+ return null;
- var svalue = value as string;
- if (string.IsNullOrWhiteSpace(svalue) || !svalue.DetectIsJson())
- {
- return svalue;
- }
+ var svalue = value as string;
+ if (string.IsNullOrWhiteSpace(svalue) || !svalue.DetectIsJson())
+ {
+ return svalue;
+ }
- var rootLinks = ParseLinks(JArray.Parse(svalue), dependencies);
+ var rootLinks = await Task.Run(() => ParseLinks(JArray.Parse(svalue)));
+ return JsonConvert.SerializeObject(rootLinks);
+ }
- return rootLinks.ToString(Formatting.None);
+ public async Task