+
+ @ChildContent
+ @if (!string.IsNullOrEmpty(Hint)) {
@Hint
}
+ @if (!string.IsNullOrEmpty(Error)) {
@Error
}
+
+
+@code {
+ [Parameter, EditorRequired] public string Label { get; set; } = string.Empty;
+ [Parameter] public string? Hint { get; set; }
+ [Parameter] public string? Error { get; set; }
+ [Parameter] public RenderFragment? ChildContent { get; set; }
+}
diff --git a/ZB.MOM.WW.Theme/tests/ZB.MOM.WW.Theme.Tests/CommonControlsTests.cs b/ZB.MOM.WW.Theme/tests/ZB.MOM.WW.Theme.Tests/CommonControlsTests.cs
new file mode 100644
index 0000000..1dac347
--- /dev/null
+++ b/ZB.MOM.WW.Theme/tests/ZB.MOM.WW.Theme.Tests/CommonControlsTests.cs
@@ -0,0 +1,52 @@
+namespace ZB.MOM.WW.Theme.Tests;
+
+public class CommonControlsTests : TestContext
+{
+ [Theory]
+ [InlineData(ButtonVariant.Primary, "btn-primary")]
+ [InlineData(ButtonVariant.Secondary, "btn-outline-secondary")]
+ [InlineData(ButtonVariant.Danger, "btn-danger")]
+ [InlineData(ButtonVariant.Ghost, "btn-link")]
+ public void TechButton_maps_variant(ButtonVariant v, string cls)
+ {
+ var cut = RenderComponent