From 11b0a9b5e99437dca1c36bfebcbe0e37688ad093 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 28 May 2025 08:44:02 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20HeaderPaddingY?= =?UTF-8?q?=20=E5=8F=82=E6=95=B0=E8=B0=83=E6=95=B4=20header=20y=20?= =?UTF-8?q?=E8=BD=B4=E9=97=B4=E9=9A=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Card/Card.razor | 2 +- src/BootstrapBlazor/Components/Card/Card.razor.cs | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/Components/Card/Card.razor b/src/BootstrapBlazor/Components/Card/Card.razor index d0ae6a43d92..5a9adf219bf 100644 --- a/src/BootstrapBlazor/Components/Card/Card.razor +++ b/src/BootstrapBlazor/Components/Card/Card.razor @@ -2,7 +2,7 @@ @inherits BootstrapModuleComponentBase @attribute [BootstrapModuleAutoLoader(JSObjectReference = true)] -
+
@if (HeaderTemplate != null || !string.IsNullOrEmpty(HeaderText)) {
diff --git a/src/BootstrapBlazor/Components/Card/Card.razor.cs b/src/BootstrapBlazor/Components/Card/Card.razor.cs index a80f9f883eb..3db0a913999 100644 --- a/src/BootstrapBlazor/Components/Card/Card.razor.cs +++ b/src/BootstrapBlazor/Components/Card/Card.razor.cs @@ -49,6 +49,13 @@ public partial class Card .AddClass("text-muted", IsCenter) .Build(); + /// + /// 获得/设置 Card Header 高度 padding Y轴值 默认 null + /// 单位需自行给定 如 0.25rem + /// + [Parameter] + public string? HeaderPaddingY { get; set; } + /// /// 获得/设置 收缩展开箭头图标 默认 fa-solid fa-circle-chevron-right /// @@ -119,6 +126,10 @@ public partial class Card [NotNull] private IIconTheme? IconTheme { get; set; } + private string? HeaderStyleString => CssBuilder.Default() + .AddStyle("--bs-card-cap-padding-y", HeaderPaddingY) + .Build(); + /// /// /// From e50863a80aa958f9a15ec191a30395da19d09f9f Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 28 May 2025 08:44:11 +0800 Subject: [PATCH 2/5] =?UTF-8?q?refactor:=20=E4=BB=A3=E7=A0=81=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Card/Card.razor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/Components/Card/Card.razor b/src/BootstrapBlazor/Components/Card/Card.razor index 5a9adf219bf..bb4d614f0f3 100644 --- a/src/BootstrapBlazor/Components/Card/Card.razor +++ b/src/BootstrapBlazor/Components/Card/Card.razor @@ -33,7 +33,7 @@ }
} -
+
@if (IsCollapsible) {
From 1d02471dc86cf600566f4fb1a8b4fb8fe6c6acc1 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 28 May 2025 08:46:51 +0800 Subject: [PATCH 3/5] =?UTF-8?q?doc:=20=E5=A2=9E=E5=8A=A0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Samples/Cards.razor.cs | 8 ++++++++ src/BootstrapBlazor.Server/Locales/en-US.json | 3 ++- src/BootstrapBlazor.Server/Locales/zh-CN.json | 3 ++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/BootstrapBlazor.Server/Components/Samples/Cards.razor.cs b/src/BootstrapBlazor.Server/Components/Samples/Cards.razor.cs index b73e7a09938..a236ed063ce 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/Cards.razor.cs +++ b/src/BootstrapBlazor.Server/Components/Samples/Cards.razor.cs @@ -49,6 +49,14 @@ private AttributeItem[] GetAttributes() => DefaultValue = " — " }, new() + { + Name = nameof(Card.HeaderPaddingY), + Description = Localizer["HeaderPaddingY"], + Type = "string?", + ValueList = " — ", + DefaultValue = " — " + }, + new() { Name = "Color", Description = Localizer["Color"], diff --git a/src/BootstrapBlazor.Server/Locales/en-US.json b/src/BootstrapBlazor.Server/Locales/en-US.json index 4f37e453817..cf04c51a796 100644 --- a/src/BootstrapBlazor.Server/Locales/en-US.json +++ b/src/BootstrapBlazor.Server/Locales/en-US.json @@ -3803,7 +3803,8 @@ "CollapsibleTitle": "Collapsible", "CollapsibleHeaderTemplate": "Header Template", "CollapsibleBody": "Click card hader for collapse/expand card body", - "ShadowBody": "Shadow effect sample" + "ShadowBody": "Shadow effect sample", + "HeaderPaddingY": "Header top and bottom padding" }, "BootstrapBlazor.Server.Components.Samples.Calendars": { "Title": "Calendar", diff --git a/src/BootstrapBlazor.Server/Locales/zh-CN.json b/src/BootstrapBlazor.Server/Locales/zh-CN.json index a88bce61268..0b8641c68f5 100644 --- a/src/BootstrapBlazor.Server/Locales/zh-CN.json +++ b/src/BootstrapBlazor.Server/Locales/zh-CN.json @@ -3803,7 +3803,8 @@ "CollapsibleTitle": "可以收缩展开的卡片", "CollapsibleBody": "点击 Header 收缩/展开", "CollapsibleHeaderTemplate": "这里是模板", - "ShadowBody": "阴影特效示例" + "ShadowBody": "阴影特效示例", + "HeaderPaddingY": "Header 上下内边距" }, "BootstrapBlazor.Server.Components.Samples.Calendars": { "Title": "Calendar 日历框", From 30fdf2e0f2b7d9b0d76cc16c5f9988ad60426a6c Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 28 May 2025 08:55:43 +0800 Subject: [PATCH 4/5] =?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/CardTest.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/UnitTest/Components/CardTest.cs b/test/UnitTest/Components/CardTest.cs index e6a82d64ade..f4ca964c6b4 100644 --- a/test/UnitTest/Components/CardTest.cs +++ b/test/UnitTest/Components/CardTest.cs @@ -14,6 +14,12 @@ public void Header_Ok() { var cut = Context.RenderComponent(builder => builder.Add(a => a.HeaderTemplate, CreateComponent())); Assert.Contains(Content, cut.Markup); + + cut.SetParametersAndRender(pb => + { + pb.Add(a => a.HeaderPaddingY, "0.25rem"); + }); + cut.Contains("--bs-card-cap-padding-y: 0.25rem;"); } [Fact] From 7a63f55bedb60753d7715c7ee85c7d4de289428c Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 28 May 2025 09:06:19 +0800 Subject: [PATCH 5/5] =?UTF-8?q?test:=20=E6=9B=B4=E6=96=B0=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/DisplayTest.cs | 2 +- test/UnitTest/Components/InputTest.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/UnitTest/Components/DisplayTest.cs b/test/UnitTest/Components/DisplayTest.cs index 9cac91323d1..35dd8e71166 100644 --- a/test/UnitTest/Components/DisplayTest.cs +++ b/test/UnitTest/Components/DisplayTest.cs @@ -214,7 +214,7 @@ public void Bind_Ok() }); }); }); - Assert.Contains("
test-name
姓名
", cut.Markup); + Assert.Contains("
test-name
姓名
", cut.Markup); } [Fact] diff --git a/test/UnitTest/Components/InputTest.cs b/test/UnitTest/Components/InputTest.cs index ce128891938..913d52482a1 100644 --- a/test/UnitTest/Components/InputTest.cs +++ b/test/UnitTest/Components/InputTest.cs @@ -321,7 +321,7 @@ public void InputGroup_Width() })); }); - cut.MarkupMatches("
BootstrapInputGroup
"); + cut.MarkupMatches("
BootstrapInputGroup
"); } [Fact]