diff --git a/src/Umbraco.Core/Constants-PropertyEditors.cs b/src/Umbraco.Core/Constants-PropertyEditors.cs
index a42f2d198e..d86faa6fdd 100644
--- a/src/Umbraco.Core/Constants-PropertyEditors.cs
+++ b/src/Umbraco.Core/Constants-PropertyEditors.cs
@@ -1,3 +1,4 @@
+using System.ComponentModel;
using Umbraco.Cms.Core.PropertyEditors;
namespace Umbraco.Cms.Core;
@@ -43,6 +44,7 @@ public static partial class Constants
///
/// Block Grid.
///
+ [EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4
public const string BlockGrid = "Umbraco.BlockGrid";
///
diff --git a/src/Umbraco.Core/Models/Blocks/BlockGridArea.cs b/src/Umbraco.Core/Models/Blocks/BlockGridArea.cs
index 8cc2e5231b..3a9f86a606 100644
--- a/src/Umbraco.Core/Models/Blocks/BlockGridArea.cs
+++ b/src/Umbraco.Core/Models/Blocks/BlockGridArea.cs
@@ -1,11 +1,13 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
+using System.ComponentModel;
using System.Runtime.Serialization;
namespace Umbraco.Cms.Core.Models.Blocks;
[DataContract(Name = "area", Namespace = "")]
+[EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4
public class BlockGridArea : BlockModelCollection
{
///
diff --git a/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs b/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs
index 59021f5e38..86e0c40874 100644
--- a/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs
+++ b/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs
@@ -1,6 +1,7 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
+using System.ComponentModel;
using System.Runtime.Serialization;
using Umbraco.Cms.Core.Models.PublishedContent;
@@ -9,8 +10,9 @@ namespace Umbraco.Cms.Core.Models.Blocks
///
/// Represents a layout item for the Block Grid editor.
///
- ///
+ ///
[DataContract(Name = "block", Namespace = "")]
+ [EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4
public class BlockGridItem : IBlockReference
{
///
@@ -116,7 +118,6 @@ namespace Umbraco.Cms.Core.Models.Blocks
/// Represents a layout item with a generic content type for the Block List editor.
///
/// The type of the content.
- ///
public class BlockGridItem : BlockGridItem
where T : IPublishedElement
{
@@ -149,7 +150,6 @@ namespace Umbraco.Cms.Core.Models.Blocks
///
/// The type of the content.
/// The type of the settings.
- ///
public class BlockGridItem : BlockGridItem
where TContent : IPublishedElement
where TSettings : IPublishedElement
diff --git a/src/Umbraco.Core/Models/Blocks/BlockGridModel.cs b/src/Umbraco.Core/Models/Blocks/BlockGridModel.cs
index 5d645a17c9..20c41c4744 100644
--- a/src/Umbraco.Core/Models/Blocks/BlockGridModel.cs
+++ b/src/Umbraco.Core/Models/Blocks/BlockGridModel.cs
@@ -2,6 +2,7 @@
// See LICENSE for more details.
using System.Collections.ObjectModel;
+using System.ComponentModel;
using System.Runtime.Serialization;
namespace Umbraco.Cms.Core.Models.Blocks;
@@ -11,6 +12,7 @@ namespace Umbraco.Cms.Core.Models.Blocks;
///
///
[DataContract(Name = "blockgrid", Namespace = "")]
+[EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4
public class BlockGridModel : BlockModelCollection
{
///
diff --git a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridEditorDataConverter.cs b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridEditorDataConverter.cs
index b5200c9f24..016046abff 100644
--- a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridEditorDataConverter.cs
+++ b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridEditorDataConverter.cs
@@ -1,6 +1,7 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
+using System.ComponentModel;
using Newtonsoft.Json.Linq;
using Umbraco.Cms.Core.Serialization;
@@ -9,6 +10,7 @@ namespace Umbraco.Cms.Core.Models.Blocks;
///
/// Data converter for the block grid property editor
///
+[EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4
public class BlockGridEditorDataConverter : BlockEditorDataConverter
{
private readonly IJsonSerializer _jsonSerializer;
diff --git a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutAreaItem.cs b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutAreaItem.cs
index 3a4d1ba135..473482f028 100644
--- a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutAreaItem.cs
+++ b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutAreaItem.cs
@@ -1,7 +1,9 @@
-using Newtonsoft.Json;
+using System.ComponentModel;
+using Newtonsoft.Json;
namespace Umbraco.Cms.Core.Models.Blocks;
+[EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4
public class BlockGridLayoutAreaItem
{
[JsonProperty("key", NullValueHandling = NullValueHandling.Ignore)]
diff --git a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutItem.cs b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutItem.cs
index 9014e2789a..c06942822e 100644
--- a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutItem.cs
+++ b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutItem.cs
@@ -1,6 +1,7 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
+using System.ComponentModel;
using Newtonsoft.Json;
using Umbraco.Cms.Infrastructure.Serialization;
@@ -9,6 +10,7 @@ namespace Umbraco.Cms.Core.Models.Blocks;
///
/// Used for deserializing the block grid layout
///
+[EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4
public class BlockGridLayoutItem : IBlockLayoutItem
{
[JsonProperty("contentUdi", Required = Required.Always)]
diff --git a/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditor.cs b/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditor.cs
index 8881ce82a9..0b465499f8 100644
--- a/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditor.cs
+++ b/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditor.cs
@@ -1,6 +1,8 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
+using System.ComponentModel;
+using Umbraco.Cms.Core.Composing;
using Umbraco.Cms.Core.IO;
namespace Umbraco.Cms.Core.PropertyEditors;
@@ -8,13 +10,16 @@ namespace Umbraco.Cms.Core.PropertyEditors;
///
/// Represents a block list property editor.
///
-[DataEditor(
- Constants.PropertyEditors.Aliases.BlockGrid,
- "Block Grid",
- "blockgrid",
- ValueType = ValueTypes.Json,
- Group = Constants.PropertyEditors.Groups.RichContent,
- Icon = "icon-layout")]
+// TODO: Re-add this DataEditor attribute to re-enable the BlockGridEditor for V11/V10.4
+// [DataEditor(
+// Constants.PropertyEditors.Aliases.BlockGrid,
+// "Block Grid",
+// "blockgrid",
+// ValueType = ValueTypes.Json,
+// Group = Constants.PropertyEditors.Groups.RichContent,
+// Icon = "icon-layout")]
+[HideFromTypeFinder]
+[EditorBrowsable(EditorBrowsableState.Never)]
public class BlockGridPropertyEditor : BlockGridPropertyEditorBase
{
private readonly IIOHelper _ioHelper;
diff --git a/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs b/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs
index 42a5931a2b..138c3b7320 100644
--- a/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs
+++ b/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs
@@ -1,8 +1,10 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
+using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Microsoft.Extensions.Logging;
+using Umbraco.Cms.Core.Composing;
using Umbraco.Cms.Core.IO;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Models.Blocks;
@@ -16,7 +18,9 @@ namespace Umbraco.Cms.Core.PropertyEditors;
///
/// Abstract base class for block grid based editors.
-///
+// ///
+[HideFromTypeFinder]
+[EditorBrowsable(EditorBrowsableState.Never)]
public abstract class BlockGridPropertyEditorBase : DataEditor
{
protected BlockGridPropertyEditorBase(IDataValueEditorFactory dataValueEditorFactory)
diff --git a/src/Umbraco.Web.Common/Extensions/BlockGridTemplateExtensions.cs b/src/Umbraco.Web.Common/Extensions/BlockGridTemplateExtensions.cs
index ee0375da4f..ed40a30766 100644
--- a/src/Umbraco.Web.Common/Extensions/BlockGridTemplateExtensions.cs
+++ b/src/Umbraco.Web.Common/Extensions/BlockGridTemplateExtensions.cs
@@ -1,6 +1,7 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
+using System.ComponentModel;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc.Rendering;
using Umbraco.Cms.Core.Models.Blocks;
@@ -8,6 +9,7 @@ using Umbraco.Cms.Core.Models.PublishedContent;
namespace Umbraco.Extensions;
+[EditorBrowsable(EditorBrowsableState.Never)]
public static class BlockGridTemplateExtensions
{
public const string DefaultFolder = "blockgrid/";
diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderTests.cs
index af6dbb1f1c..4d098b5992 100644
--- a/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderTests.cs
+++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderTests.cs
@@ -174,7 +174,8 @@ public class TypeLoaderTests
public void GetDataEditors()
{
var types = _typeLoader.GetDataEditors();
- Assert.AreEqual(42, types.Count());
+ // TODO: Increase this to 42 when BlockGridEditor is re-added
+ Assert.AreEqual(41, types.Count());
}
///