diff --git a/src/BootstrapBlazor.Server/Components/Samples/ListViews.razor b/src/BootstrapBlazor.Server/Components/Samples/ListViews.razor index 7d9ce17613e..8c26331dbc0 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/ListViews.razor +++ b/src/BootstrapBlazor.Server/Components/Samples/ListViews.razor @@ -17,7 +17,7 @@ - +
@context.Description
@@ -42,7 +42,7 @@ - +
@context.Description
@@ -60,7 +60,7 @@ - +
@context.Description
@@ -78,7 +78,7 @@ - +
@context.Description
@@ -96,7 +96,7 @@ - +
@context.Description
diff --git a/src/BootstrapBlazor.Server/Components/Samples/ListViews.razor.css b/src/BootstrapBlazor.Server/Components/Samples/ListViews.razor.css index 10afd97d492..bdac4ae871d 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/ListViews.razor.css +++ b/src/BootstrapBlazor.Server/Components/Samples/ListViews.razor.css @@ -1,5 +1,5 @@ -img { - margin-bottom: 1rem; +.lv-demo-img { + width: 100%; border-radius: var(--bs-border-radius); } diff --git a/src/BootstrapBlazor/Components/ListView/ListView.razor b/src/BootstrapBlazor/Components/ListView/ListView.razor index 4493a83b7f8..10087a7185a 100644 --- a/src/BootstrapBlazor/Components/ListView/ListView.razor +++ b/src/BootstrapBlazor/Components/ListView/ListView.razor @@ -16,12 +16,7 @@ { if (GroupName == null) { - foreach (var item in Rows) - { -
- @BodyTemplate(item) -
- } + @RenderGroup(Rows) } else if (Collapsible) { @@ -38,12 +33,7 @@
@key.GroupName
- @foreach (var item in key.Items) - { -
- @BodyTemplate(item) -
- } + @RenderGroup(key.Items)
} @@ -77,14 +67,19 @@ @code { RenderFragment RenderItem((object? GroupName, IOrderedEnumerable Items) key, int index) => @ - @foreach (var item in key.Items) + @RenderGroup(key.Items) + ; + + RenderFragment> RenderGroup => items => + @
+ @foreach (var item in items) { -
+
@if(BodyTemplate != null) { @BodyTemplate(item) }
} - ; +
; } diff --git a/src/BootstrapBlazor/Components/ListView/ListView.razor.cs b/src/BootstrapBlazor/Components/ListView/ListView.razor.cs index 40de42b1de7..7225e001676 100644 --- a/src/BootstrapBlazor/Components/ListView/ListView.razor.cs +++ b/src/BootstrapBlazor/Components/ListView/ListView.razor.cs @@ -15,7 +15,7 @@ public partial class ListView : BootstrapComponentBase .AddClassFromAttributes(AdditionalAttributes) .Build(); - private string? BodyClassString => CssBuilder.Default("listview-body") + private string? BodyClassString => CssBuilder.Default("listview-body scroll") .AddClass("is-group", GroupName != null) .Build(); diff --git a/src/BootstrapBlazor/Components/ListView/ListView.razor.scss b/src/BootstrapBlazor/Components/ListView/ListView.razor.scss index 7d89e69b2d4..f5a4be567be 100644 --- a/src/BootstrapBlazor/Components/ListView/ListView.razor.scss +++ b/src/BootstrapBlazor/Components/ListView/ListView.razor.scss @@ -6,7 +6,7 @@ --bb-lv-item-border-hover-color: #{$bb-lv-item-border-hover-color}; --bb-lv-item-shadow: #{$bb-lv-item-shadow}; --bb-lv-body-padding: #{$bb-lv-body-padding}; - --bb-lv-body-item-margin: #{$bb-lv-body-item-margin}; + --bb-lv-body-item-gap: #{$bb-lv-body-item-gap}; --bb-lv-footer-padding: #{$bb-lv-footer-padding}; border: 1px solid var(--bb-lv-border-color); border-radius: var(--bs-border-radius); @@ -29,24 +29,17 @@ .listview .listview-body { padding: var(--bb-lv-body-padding); position: relative; - overflow: auto; - display: flex; - flex-flow: row wrap; flex: 1; - align-content: flex-start; - height: 1%; min-height: 0; + height: 1%; } .listview .listview-body.is-group { padding: 0; } -.listview .listview-body .listview-item { - margin: var(--bb-lv-body-item-margin); -} - .listview .listview-body .listview-item .card { + box-shadow: var(--bb-lv-item-shadow); transition: var(--bb-lv-item-trans); } @@ -55,15 +48,11 @@ border: 1px solid var(--bb-lv-item-border-hover-color); } -.listview .listview-body .listview-item .card { - box-shadow: var(--bb-lv-item-shadow); -} - -.listview .listview-body .listview-item-group { - flex-basis: 100%; - margin: 1rem 0; - font-weight: bold; - position: relative; +.listview .listview-item-group { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); + gap: var(--bb-lv-body-item-gap); + align-items: start; } .listview .listview-body .accordion { @@ -82,15 +71,9 @@ } .listview .listview-body .accordion-body { - display: flex; - flex-wrap: wrap; padding: var(--bb-lv-body-padding); } -.listview .listview-body .accordion-item { - width: 100%; -} - .listview .listview-body .accordion-item:last-child .accordion-header { border-bottom: 1px solid var(--bb-lv-border-color); } diff --git a/src/BootstrapBlazor/wwwroot/scss/theme/bootstrapblazor.scss b/src/BootstrapBlazor/wwwroot/scss/theme/bootstrapblazor.scss index fbfb33dbe0b..1f442bd661b 100644 --- a/src/BootstrapBlazor/wwwroot/scss/theme/bootstrapblazor.scss +++ b/src/BootstrapBlazor/wwwroot/scss/theme/bootstrapblazor.scss @@ -381,9 +381,9 @@ $bb-lv-border-color: var(--bs-border-color); $bb-lv-item-trans: border .3s linear; $bb-lv-item-border-hover-color: #409eff; $bb-lv-item-shadow: 0 2px 12px 0 rgba(0,0,0,.1); -$bb-lv-body-padding: 1rem 0 0 1rem; -$bb-lv-body-item-margin: 0 1rem 1rem 0; -$bb-lv-footer-padding: 1rem; +$bb-lv-body-padding: 0.5rem; +$bb-lv-body-item-gap: 0.5rem; +$bb-lv-footer-padding: 0.5rem; // Logout $bb-logout-avatar-width: 42px;