From f597e6b85628d551467f867cf8fb1c520a1b701c Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 9 Apr 2025 13:15:42 +0800 Subject: [PATCH 01/11] =?UTF-8?q?doc:=20=E6=96=87=E6=A1=A3=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E8=8B=B1=E8=AF=AD=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Badge/Badge.razor.cs | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/BootstrapBlazor/Components/Badge/Badge.razor.cs b/src/BootstrapBlazor/Components/Badge/Badge.razor.cs index 931a83305a1..606a5ddda79 100644 --- a/src/BootstrapBlazor/Components/Badge/Badge.razor.cs +++ b/src/BootstrapBlazor/Components/Badge/Badge.razor.cs @@ -6,33 +6,32 @@ namespace BootstrapBlazor.Components; /// -/// Badge 徽章组件 +/// Badge component /// public partial class Badge { - /// - /// 获得 样式集合 - /// - /// - protected string? ClassString => CssBuilder.Default("badge") + private string? ClassString => CssBuilder.Default("badge") .AddClass($"bg-{Color.ToDescriptionString()}", Color != Color.None) .AddClass("rounded-pill", IsPill) .AddClassFromAttributes(AdditionalAttributes) .Build(); /// - /// 获得/设置 颜色 + /// Gets or sets the color of the badge. Default is . /// - [Parameter] public Color Color { get; set; } = Color.Primary; + [Parameter] + public Color Color { get; set; } = Color.Primary; /// - /// 获得/设置 是否显示为胶囊形式 + /// Gets or sets whether the badge should be displayed as a pill (rounded) or not. Default is false. /// /// - [Parameter] public bool IsPill { get; set; } + [Parameter] + public bool IsPill { get; set; } /// - /// 子组件 + /// Gets or sets the child content of the component. Default is false. /// - [Parameter] public RenderFragment? ChildContent { get; set; } + [Parameter] + public RenderFragment? ChildContent { get; set; } } From bfb6c47ae2060d9fa0ccaa6eb413cc26269d212d Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 9 Apr 2025 18:30:36 +0800 Subject: [PATCH 02/11] =?UTF-8?q?doc:=20=E5=BE=AE=E8=B0=83=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=9D=97=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Components/DemoBlock.razor.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/BootstrapBlazor.Server/Components/Components/DemoBlock.razor.css b/src/BootstrapBlazor.Server/Components/Components/DemoBlock.razor.css index 7b075ce5e94..a77a7ad1da6 100644 --- a/src/BootstrapBlazor.Server/Components/Components/DemoBlock.razor.css +++ b/src/BootstrapBlazor.Server/Components/Components/DemoBlock.razor.css @@ -45,6 +45,7 @@ .card-footer-code ::deep .pre-code { margin: .5rem; + width: calc(100% - 1rem); } .card-footer-control { From 4fb3ee2e9b0631ea711e07cb63fbd93473a57cbf Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 10 Apr 2025 10:33:58 +0800 Subject: [PATCH 03/11] =?UTF-8?q?doc:=20=E5=A2=9E=E5=8A=A0=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=96=87=E4=BB=B6=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor.Server/docs.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/BootstrapBlazor.Server/docs.json b/src/BootstrapBlazor.Server/docs.json index 2eb67ad658b..b03c77004ae 100644 --- a/src/BootstrapBlazor.Server/docs.json +++ b/src/BootstrapBlazor.Server/docs.json @@ -227,7 +227,8 @@ "affix": "Affixs", "watermark": "Watermarks", "typed": "Typeds", - "univer-sheet": "UniverSheets" + "univer-sheet": "UniverSheets", + "shield-badge": "ShieldBadges" }, "video": { "table": "BV1ap4y1x7Qn?p=1", From b1ca1448e91cba9394d9f36732a067a5496efa30 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 10 Apr 2025 10:34:11 +0800 Subject: [PATCH 04/11] =?UTF-8?q?doc:=20=E5=A2=9E=E5=8A=A0=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E8=B5=84=E6=BA=90=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor.Server/Locales/en-US.json | 3 ++- src/BootstrapBlazor.Server/Locales/zh-CN.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/BootstrapBlazor.Server/Locales/en-US.json b/src/BootstrapBlazor.Server/Locales/en-US.json index e5a49384fea..e568810dab7 100644 --- a/src/BootstrapBlazor.Server/Locales/en-US.json +++ b/src/BootstrapBlazor.Server/Locales/en-US.json @@ -4909,7 +4909,8 @@ "OctIcon": "Oct Icons", "UniverIcon": "Univer Icons", "Typed": "Typed", - "UniverSheet": "UniverSheet" + "UniverSheet": "UniverSheet", + "ShieldBadge": "ShieldBadge" }, "BootstrapBlazor.Server.Components.Samples.Table.TablesHeader": { "TablesHeaderTitle": "Header grouping function", diff --git a/src/BootstrapBlazor.Server/Locales/zh-CN.json b/src/BootstrapBlazor.Server/Locales/zh-CN.json index b686cf3211b..6c3fc2066dd 100644 --- a/src/BootstrapBlazor.Server/Locales/zh-CN.json +++ b/src/BootstrapBlazor.Server/Locales/zh-CN.json @@ -4909,7 +4909,8 @@ "OctIcon": "Oct Icons", "UniverIcon": "Univer Icons", "Typed": "打字机效果 Typed", - "UniverSheet": "表格组件 UniverSheet" + "UniverSheet": "表格组件 UniverSheet", + "ShieldBadge": "徽章组件 ShieldBadge" }, "BootstrapBlazor.Server.Components.Samples.Table.TablesHeader": { "TablesHeaderTitle": "表头分组功能", From e83a6ffb1bd4d34cfb8f5ea09a74aa2b32636b6b Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 10 Apr 2025 10:34:19 +0800 Subject: [PATCH 05/11] =?UTF-8?q?doc:=20=E5=A2=9E=E5=8A=A0=E5=BE=BD?= =?UTF-8?q?=E7=AB=A0=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extensions/MenusLocalizerExtensions.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/BootstrapBlazor.Server/Extensions/MenusLocalizerExtensions.cs b/src/BootstrapBlazor.Server/Extensions/MenusLocalizerExtensions.cs index 2aa8b65d605..5387273ff4b 100644 --- a/src/BootstrapBlazor.Server/Extensions/MenusLocalizerExtensions.cs +++ b/src/BootstrapBlazor.Server/Extensions/MenusLocalizerExtensions.cs @@ -525,6 +525,11 @@ void AddData(DemoMenuItem item) Url = "badge" }, new() + { + Text = Localizer["ShieldBadge"], + Url = "shield-badge" + }, + new() { Text = Localizer["BarcodeReader"], Url = "barcode-reader" From e23b9a28541042bbdca1183a8935260c66d3515c Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 10 Apr 2025 10:34:28 +0800 Subject: [PATCH 06/11] =?UTF-8?q?doc:=20=E5=A2=9E=E5=8A=A0=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Samples/ShieldBadges.razor | 13 +++++++++++++ .../Components/Samples/ShieldBadges.razor.cs | 14 ++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor create mode 100644 src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor.cs diff --git a/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor b/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor new file mode 100644 index 00000000000..1452ffc24c1 --- /dev/null +++ b/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor @@ -0,0 +1,13 @@ +@page "/shield-badge" +@inject IStringLocalizer Localizer + +

@Localizer["ShieldBadgeTitle"]

+

@Localizer["ShieldBadgeIntro"]

+ + + + + + diff --git a/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor.cs b/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor.cs new file mode 100644 index 00000000000..5184b737220 --- /dev/null +++ b/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor.cs @@ -0,0 +1,14 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the Apache 2.0 License +// See the LICENSE file in the project root for more information. +// Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone + +namespace BootstrapBlazor.Server.Components.Samples; + +/// +/// ShieldBadge component sample +/// +public partial class ShieldBadges +{ + +} From d25b7c9a8cba2690cf64a1d78181e220b548f4fb Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 10 Apr 2025 12:36:22 +0800 Subject: [PATCH 07/11] =?UTF-8?q?refactor:=20=E5=A2=9E=E5=8A=A0=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Badge/ShieldBadge.razor | 21 +++++ .../Components/Badge/ShieldBadge.razor.cs | 83 +++++++++++++++++++ .../Components/Badge/ShieldBadge.razor.scss | 35 ++++++++ 3 files changed, 139 insertions(+) create mode 100644 src/BootstrapBlazor/Components/Badge/ShieldBadge.razor create mode 100644 src/BootstrapBlazor/Components/Badge/ShieldBadge.razor.cs create mode 100644 src/BootstrapBlazor/Components/Badge/ShieldBadge.razor.scss diff --git a/src/BootstrapBlazor/Components/Badge/ShieldBadge.razor b/src/BootstrapBlazor/Components/Badge/ShieldBadge.razor new file mode 100644 index 00000000000..0461ced272d --- /dev/null +++ b/src/BootstrapBlazor/Components/Badge/ShieldBadge.razor @@ -0,0 +1,21 @@ +@namespace BootstrapBlazor.Components +@inherits BootstrapComponentBase + +
+
+ @if (!string.IsNullOrEmpty(Icon)) + { + + } + @if (!string.IsNullOrEmpty(Label)) + { + @Label + } +
+
+ @if (!string.IsNullOrEmpty(Text)) + { + @Text + } +
+
diff --git a/src/BootstrapBlazor/Components/Badge/ShieldBadge.razor.cs b/src/BootstrapBlazor/Components/Badge/ShieldBadge.razor.cs new file mode 100644 index 00000000000..c1cc6ebe4f3 --- /dev/null +++ b/src/BootstrapBlazor/Components/Badge/ShieldBadge.razor.cs @@ -0,0 +1,83 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the Apache 2.0 License +// See the LICENSE file in the project root for more information. +// Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone + +namespace BootstrapBlazor.Components; + +/// +/// ShieldBadge component +/// +public partial class ShieldBadge +{ + /// + /// Gets or sets the icon. Default is null. + /// + [Parameter] + public string? Icon { get; set; } + + /// + /// Gets or sets the icon color. Default is null. + /// + [Parameter] + public string? IconColor { get; set; } + + /// + /// Gets or sets the text of badge. Default is null. + /// + [Parameter] + public string? Text { get; set; } + + /// + /// Gets or sets the text color. Default is null. + /// + [Parameter] + public string? TextColor { get; set; } + + /// + /// Gets or sets the text background color. Default is null. + /// + [Parameter] + public string? TextBackgroundColor { get; set; } + + /// + /// Gets or sets the label of badge. Default is null. + /// + [Parameter] + public string? Label { get; set; } + + /// + /// Gets or sets the label color of badge. Default is null. + /// + [Parameter] + public string? LabelColor { get; set; } + + /// + /// Gets or sets the label background color. Default is null. + /// + [Parameter] + public string? LabelBackgroundColor { get; set; } + + /// + /// Gets or sets the badge radius. Default is 3. + /// + [Parameter] + public int Radius { get; set; } = 3; + + private string? ClassString => CssBuilder.Default("shield-badge") + .AddClassFromAttributes(AdditionalAttributes) + .Build(); + + private string? StyleString => CssBuilder.Default() + .AddStyle("--bb-shield-badge-icon-color", IconColor, !string.IsNullOrEmpty(IconColor)) + .AddStyle("--bb-shield-badge-label-color", LabelColor, !string.IsNullOrEmpty(LabelColor)) + .AddStyle("--bb-shield-badge-label-bg", LabelBackgroundColor, !string.IsNullOrEmpty(LabelBackgroundColor)) + .AddStyle("--bb-shield-badge-text-color", TextColor, !string.IsNullOrEmpty(TextColor)) + .AddStyle("--bb-shield-badge-text-bg", TextBackgroundColor, !string.IsNullOrEmpty(TextBackgroundColor)) + .AddStyle("--bb-shield-badge-radius", $"{Math.Max(0, Radius)}px", Radius != 3) + .Build(); + + private string? IconString => CssBuilder.Default("shield-badge-icon") + .AddClass(Icon, !string.IsNullOrEmpty(Icon)) + .Build(); +} diff --git a/src/BootstrapBlazor/Components/Badge/ShieldBadge.razor.scss b/src/BootstrapBlazor/Components/Badge/ShieldBadge.razor.scss new file mode 100644 index 00000000000..b78b0a63326 --- /dev/null +++ b/src/BootstrapBlazor/Components/Badge/ShieldBadge.razor.scss @@ -0,0 +1,35 @@ +.shield-badge { + --bb-shield-badge-icon-color: #fff; + --bb-shield-badge-label-color: #fff; + --bb-shield-badge-label-bg: #5e5e5e; + --bb-shield-badge-text-color: #fff; + --bb-shield-badge-text-bg: #0f81c2; + --bb-shield-badge-radius: 3px; + --bb-shield-badge-font-size: 12px; + --bb-shield-badge-padding: 1px 6px; + display: inline-flex; + flex-wrap: nowrap; + font-size: var(--bb-shield-badge-font-size); + + .shield-badge-label { + background-color: var(--bb-shield-badge-label-bg); + color: var(--bb-shield-badge-label-color); + padding: var(--bb-shield-badge-padding); + border-top-left-radius: var(--bb-shield-badge-radius); + border-bottom-left-radius: var(--bb-shield-badge-radius); + + .shield-badge-icon { + color: var(--bb-shield-badge-icon-color); + margin-inline-end: 4px; + font-size: 95%; + } + } + + .shield-badge-text { + background-color: var(--bb-shield-badge-text-bg); + color: var(--bb-shield-badge-text-color); + padding: var(--bb-shield-badge-padding); + border-top-right-radius: var(--bb-shield-badge-radius); + border-bottom-right-radius: var(--bb-shield-badge-radius); + } +} From cd3c0c9faa99d1fe779556ebc8012b36b209d65a Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 10 Apr 2025 12:36:39 +0800 Subject: [PATCH 08/11] =?UTF-8?q?refactor:=20=E5=A2=9E=E5=8A=A0=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=20scss=20=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/wwwroot/scss/components.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/wwwroot/scss/components.scss b/src/BootstrapBlazor/wwwroot/scss/components.scss index 6da3b716f25..345bcd9221a 100644 --- a/src/BootstrapBlazor/wwwroot/scss/components.scss +++ b/src/BootstrapBlazor/wwwroot/scss/components.scss @@ -1,4 +1,4 @@ -@import "bootstrapblazor-dark.scss"; +@import "bootstrapblazor-dark.scss"; @import "root.scss"; @import "../../Components/Affix/Affix.razor.scss"; @@ -8,6 +8,7 @@ @import "../../Components/AutoFill/AutoFill.razor.scss"; @import "../../Components/Avatar/Avatar.razor.scss"; @import "../../Components/Badge/Badge.razor.scss"; +@import "../../Components/Badge/ShieldBadge.razor.scss"; @import "../../Components/Button/Button.razor.scss"; @import "../../Components/Button/DialButton.razor.scss"; @import "../../Components/Button/PopConfirmButtonContent.razor.scss"; From 65731a395041c3c578c6cb691403802c3b6dcb59 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 10 Apr 2025 12:36:49 +0800 Subject: [PATCH 09/11] =?UTF-8?q?doc:=20=E5=A2=9E=E5=8A=A0=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Samples/ShieldBadges.razor | 71 +++++++++++++++++-- .../Components/Samples/ShieldBadges.razor.cs | 11 +++ src/BootstrapBlazor.Server/Locales/en-US.json | 6 ++ src/BootstrapBlazor.Server/Locales/zh-CN.json | 6 ++ 4 files changed, 89 insertions(+), 5 deletions(-) diff --git a/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor b/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor index 1452ffc24c1..023655e56b5 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor +++ b/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor @@ -1,13 +1,74 @@ @page "/shield-badge" @inject IStringLocalizer Localizer -

@Localizer["ShieldBadgeTitle"]

-

@Localizer["ShieldBadgeIntro"]

+

@Localizer["Title"]

+

@Localizer["SubTitle"]

- +
+
+
+ + + + +
+
+ + + + +
+
+
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+
+
- - diff --git a/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor.cs b/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor.cs index 5184b737220..18f1047e9a8 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor.cs +++ b/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor.cs @@ -10,5 +10,16 @@ namespace BootstrapBlazor.Server.Components.Samples; /// public partial class ShieldBadges { + private string? _icon = "fa-brands fa-github"; + private string? _iconColor; + private string? _label = "download"; + private string? _labelColor; + private string? _labelBackgroundColor; + + private string? _text = "12M"; + private string? _textColor; + private string? _textBackgroundColor; + + private int _radius = 3; } diff --git a/src/BootstrapBlazor.Server/Locales/en-US.json b/src/BootstrapBlazor.Server/Locales/en-US.json index e568810dab7..977aea12c61 100644 --- a/src/BootstrapBlazor.Server/Locales/en-US.json +++ b/src/BootstrapBlazor.Server/Locales/en-US.json @@ -3666,6 +3666,12 @@ "IsPill": "Capsule style", "ButtonSpan": "The primary button" }, + "BootstrapBlazor.Server.Components.Samples.ShieldBadges": { + "Title": "ShieldBadge", + "SubTitle": "Badge component with icon label text like Shields Badge", + "ShieldBadgeNormalTitle": "Basic usage", + "ShieldBadgeNormalIntro": "Use Icon to set the icon, Label to set the left text, and Text to set the right text" + }, "BootstrapBlazor.Server.Components.Samples.BarcodeReaders": { "Title": "BarcodeReader", "SubTitle": "This component scans the bar code by calling the camera to obtain the bar code content bar code/QR code", diff --git a/src/BootstrapBlazor.Server/Locales/zh-CN.json b/src/BootstrapBlazor.Server/Locales/zh-CN.json index 6c3fc2066dd..71c8a1d4e93 100644 --- a/src/BootstrapBlazor.Server/Locales/zh-CN.json +++ b/src/BootstrapBlazor.Server/Locales/zh-CN.json @@ -3666,6 +3666,12 @@ "IsPill": "胶囊样式", "ButtonSpan": "主要按钮" }, + "BootstrapBlazor.Server.Components.Samples.ShieldBadges": { + "Title": "ShieldBadge 徽章组件", + "SubTitle": "带图标标签文本的徽章组件高仿 Shields Badge", + "ShieldBadgeNormalTitle": "基础用法", + "ShieldBadgeNormalIntro": "通过 Icon 设置图标,通过 Label 设置左侧文本,通过 Text 设置右侧文本" + }, "BootstrapBlazor.Server.Components.Samples.BarcodeReaders": { "Title": "BarcodeReader 条码扫描", "SubTitle": "本组件通过调用摄像头对条码进行扫描,获取到条码内容条码/QR码", From 557caf920d64e9a026ef6511411b9a0aa74faf9d Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 10 Apr 2025 12:40:15 +0800 Subject: [PATCH 10/11] =?UTF-8?q?refactor:=20=E8=B0=83=E6=95=B4=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Samples/ShieldBadges.razor | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor b/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor index 023655e56b5..87c66f39b60 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor +++ b/src/BootstrapBlazor.Server/Components/Samples/ShieldBadges.razor @@ -11,13 +11,13 @@
- +
- +
@@ -25,44 +25,44 @@
- +
- +
- +
- +
- +
- +
- - + +
From 6d4c0bdb6fd1b8b66e0c526c0b2e4ed31478fa84 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 10 Apr 2025 12:48:55 +0800 Subject: [PATCH 11/11] =?UTF-8?q?test:=20=E5=A2=9E=E5=8A=A0=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/UnitTest/Components/ShieldBadgeTest.cs | 46 +++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 test/UnitTest/Components/ShieldBadgeTest.cs diff --git a/test/UnitTest/Components/ShieldBadgeTest.cs b/test/UnitTest/Components/ShieldBadgeTest.cs new file mode 100644 index 00000000000..ebad31f1a79 --- /dev/null +++ b/test/UnitTest/Components/ShieldBadgeTest.cs @@ -0,0 +1,46 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the Apache 2.0 License +// See the LICENSE file in the project root for more information. +// Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone + +namespace UnitTest.Components; + +public class ShieldBadgeTest : BootstrapBlazorTestBase +{ + [Fact] + public void ShieldBadge_Ok() + { + var cut = Context.RenderComponent(); + cut.Contains("shield-badge"); + cut.Contains("shield-badge-label"); + cut.Contains("shield-badge-text"); + cut.DoesNotContain("shield-badge-icon"); + + cut.SetParametersAndRender(p => p.Add(i => i.Icon, "fa fa-user")); + cut.Contains("shield-badge-icon"); + + cut.SetParametersAndRender(p => p.Add(i => i.Label, "test-label")); + cut.Contains("test-label"); + + cut.SetParametersAndRender(p => p.Add(i => i.Text, "test-text")); + cut.Contains("test-text"); + + cut.SetParametersAndRender(p => p.Add(i => i.IconColor, "#123")); + cut.Contains("--bb-shield-badge-icon-color: #123;"); + + cut.SetParametersAndRender(p => p.Add(i => i.LabelColor, "#123")); + cut.Contains("--bb-shield-badge-label-color: #123;"); + + cut.SetParametersAndRender(p => p.Add(i => i.LabelBackgroundColor, "#123")); + cut.Contains("--bb-shield-badge-label-bg: #123;"); + + cut.SetParametersAndRender(p => p.Add(i => i.TextColor, "#123")); + cut.Contains("--bb-shield-badge-text-color: #123;"); + + cut.SetParametersAndRender(p => p.Add(i => i.TextBackgroundColor, "#123")); + cut.Contains("--bb-shield-badge-text-bg: #123;"); + + cut.SetParametersAndRender(p => p.Add(i => i.Radius, 4)); + cut.Contains("--bb-shield-badge-radius: 4px;"); + } +}