diff --git a/Directory.Packages.props b/Directory.Packages.props
index c6d90e8..4c5b154 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -7,6 +7,7 @@
+
diff --git a/src/Code311.Persistence.EFCore/Code311.Persistence.EFCore.csproj b/src/Code311.Persistence.EFCore/Code311.Persistence.EFCore.csproj
index 1dab6a4..dab7ebc 100644
--- a/src/Code311.Persistence.EFCore/Code311.Persistence.EFCore.csproj
+++ b/src/Code311.Persistence.EFCore/Code311.Persistence.EFCore.csproj
@@ -13,6 +13,7 @@
+
diff --git a/src/Code311.Tabler.Components/Data/DataComponents.cs b/src/Code311.Tabler.Components/Data/DataComponents.cs
index 8b715e5..7042423 100644
--- a/src/Code311.Tabler.Components/Data/DataComponents.cs
+++ b/src/Code311.Tabler.Components/Data/DataComponents.cs
@@ -3,6 +3,7 @@
using Code311.Ui.Abstractions.Semantics;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.ViewComponents;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace Code311.Tabler.Components.Data;
diff --git a/src/Code311.Tabler.Components/Feedback/FeedbackComponents.cs b/src/Code311.Tabler.Components/Feedback/FeedbackComponents.cs
index 4ebdb85..dae65b8 100644
--- a/src/Code311.Tabler.Components/Feedback/FeedbackComponents.cs
+++ b/src/Code311.Tabler.Components/Feedback/FeedbackComponents.cs
@@ -4,6 +4,7 @@
using Code311.Ui.Core.Loading;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.ViewComponents;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace Code311.Tabler.Components.Feedback;
diff --git a/src/Code311.Tabler.Components/Forms/FormTagHelpers.cs b/src/Code311.Tabler.Components/Forms/FormTagHelpers.cs
index 8ab5a32..af31ee1 100644
--- a/src/Code311.Tabler.Components/Forms/FormTagHelpers.cs
+++ b/src/Code311.Tabler.Components/Forms/FormTagHelpers.cs
@@ -47,7 +47,7 @@ public override void Process(TagHelperContext context, TagHelperOutput output)
}
[HtmlTargetElement("cd311-select")]
-public sealed class Cd311SelectTagHelper(ITablerSemanticClassMapper mapper) : TagHelper
+public sealed class Cd311SelectTagHelper : TagHelper
{
public string? Field { get; set; }
public IReadOnlyCollection? Options { get; set; }
diff --git a/src/Code311.Tabler.Components/Forms/FormViewComponents.cs b/src/Code311.Tabler.Components/Forms/FormViewComponents.cs
index 9188d8a..bd7668f 100644
--- a/src/Code311.Tabler.Components/Forms/FormViewComponents.cs
+++ b/src/Code311.Tabler.Components/Forms/FormViewComponents.cs
@@ -3,6 +3,7 @@
using Code311.Ui.Abstractions.Semantics;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.ViewComponents;
namespace Code311.Tabler.Components.Forms;
diff --git a/src/Code311.Tabler.Components/Layout/LayoutComponents.cs b/src/Code311.Tabler.Components/Layout/LayoutComponents.cs
index ebc5e59..b9fc0a5 100644
--- a/src/Code311.Tabler.Components/Layout/LayoutComponents.cs
+++ b/src/Code311.Tabler.Components/Layout/LayoutComponents.cs
@@ -2,6 +2,7 @@
using Code311.Ui.Abstractions.Semantics;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.ViewComponents;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace Code311.Tabler.Components.Layout;
diff --git a/src/Code311.Tabler.Components/Media/MediaComponents.cs b/src/Code311.Tabler.Components/Media/MediaComponents.cs
index 1d5fbc2..672f903 100644
--- a/src/Code311.Tabler.Components/Media/MediaComponents.cs
+++ b/src/Code311.Tabler.Components/Media/MediaComponents.cs
@@ -2,6 +2,7 @@
using Code311.Ui.Abstractions.Semantics;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.ViewComponents;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace Code311.Tabler.Components.Media;
diff --git a/src/Code311.Tabler.Components/Navigation/NavigationComponents.cs b/src/Code311.Tabler.Components/Navigation/NavigationComponents.cs
index 8d7f81e..157cdf0 100644
--- a/src/Code311.Tabler.Components/Navigation/NavigationComponents.cs
+++ b/src/Code311.Tabler.Components/Navigation/NavigationComponents.cs
@@ -3,6 +3,7 @@
using Code311.Ui.Abstractions.Semantics;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.ViewComponents;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace Code311.Tabler.Components.Navigation;
diff --git a/src/Code311.Tabler.Dashboard/Kpi/KpiViewComponents.cs b/src/Code311.Tabler.Dashboard/Kpi/KpiViewComponents.cs
index 5ca0e07..d3ef221 100644
--- a/src/Code311.Tabler.Dashboard/Kpi/KpiViewComponents.cs
+++ b/src/Code311.Tabler.Dashboard/Kpi/KpiViewComponents.cs
@@ -2,6 +2,7 @@
using Code311.Tabler.Dashboard.Models;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.ViewComponents;
namespace Code311.Tabler.Dashboard.Kpi;
diff --git a/src/Code311.Tabler.Dashboard/Layout/DashboardShellViewComponent.cs b/src/Code311.Tabler.Dashboard/Layout/DashboardShellViewComponent.cs
index 1104a68..cf36042 100644
--- a/src/Code311.Tabler.Dashboard/Layout/DashboardShellViewComponent.cs
+++ b/src/Code311.Tabler.Dashboard/Layout/DashboardShellViewComponent.cs
@@ -3,6 +3,7 @@
using Code311.Ui.Abstractions.Semantics;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.ViewComponents;
namespace Code311.Tabler.Dashboard.Layout;
diff --git a/src/Code311.Tabler.Dashboard/Panels/DashboardPanelViewComponents.cs b/src/Code311.Tabler.Dashboard/Panels/DashboardPanelViewComponents.cs
index b37c2c2..b7c0ec3 100644
--- a/src/Code311.Tabler.Dashboard/Panels/DashboardPanelViewComponents.cs
+++ b/src/Code311.Tabler.Dashboard/Panels/DashboardPanelViewComponents.cs
@@ -3,6 +3,7 @@
using Code311.Tabler.Dashboard.Models;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.ViewComponents;
namespace Code311.Tabler.Dashboard.Panels;
diff --git a/tests/Code311.Tests.Licensing/LicensingServicesTests.cs b/tests/Code311.Tests.Licensing/LicensingServicesTests.cs
index f3b0bfd..bf2d45f 100644
--- a/tests/Code311.Tests.Licensing/LicensingServicesTests.cs
+++ b/tests/Code311.Tests.Licensing/LicensingServicesTests.cs
@@ -69,7 +69,7 @@ public async Task FeatureGate_ShouldDeny_WhenFeatureMissing()
{
var services = new ServiceCollection()
.AddCode311Licensing(options => options.RequireValidLicenseAtStartup = false)
- .AddCode311InMemoryLicenseSource(BuildLicense(features: ["dashboard.basic"]))
+ .AddCode311InMemoryLicenseSource(BuildLicense(features: new HashSet(StringComparer.OrdinalIgnoreCase) { "dashboard.basic" }))
.BuildServiceProvider();
var gate = services.GetRequiredService();
@@ -85,7 +85,7 @@ public async Task FeatureGate_ShouldAllow_WhenFeaturePresent()
{
var services = new ServiceCollection()
.AddCode311Licensing(options => options.RequireValidLicenseAtStartup = false)
- .AddCode311InMemoryLicenseSource(BuildLicense(features: ["dashboard.advanced"]))
+ .AddCode311InMemoryLicenseSource(BuildLicense(features: new HashSet(StringComparer.OrdinalIgnoreCase) { "dashboard.advanced" }))
.BuildServiceProvider();
var gate = services.GetRequiredService();