0 || description">
+ 0 || description" [disableMargin]="disableSectionMargin">
{{ title }}
diff --git a/apps/browser/src/vault/popup/components/vault-v2/vault-list-items-container/vault-list-items-container.component.ts b/apps/browser/src/vault/popup/components/vault-v2/vault-list-items-container/vault-list-items-container.component.ts
index 80ef26a3226..8e3f2bca26d 100644
--- a/apps/browser/src/vault/popup/components/vault-v2/vault-list-items-container/vault-list-items-container.component.ts
+++ b/apps/browser/src/vault/popup/components/vault-v2/vault-list-items-container/vault-list-items-container.component.ts
@@ -78,6 +78,13 @@ export class VaultListItemsContainerComponent {
@Input({ transform: booleanAttribute })
showAutofillButton: boolean;
+ /**
+ * Remove the bottom margin from the bit-section in this component
+ * (used for containers at the end of the page where bottom margin is not needed)
+ */
+ @Input({ transform: booleanAttribute })
+ disableSectionMargin: boolean = false;
+
/**
* The tooltip text for the organization icon for ciphers that belong to an organization.
* @param cipher
diff --git a/apps/browser/src/vault/popup/components/vault/vault-v2.component.html b/apps/browser/src/vault/popup/components/vault/vault-v2.component.html
index 6422bc3c84b..c36d480e9c6 100644
--- a/apps/browser/src/vault/popup/components/vault/vault-v2.component.html
+++ b/apps/browser/src/vault/popup/components/vault/vault-v2.component.html
@@ -65,6 +65,7 @@
[title]="'allItems' | i18n"
[ciphers]="remainingCiphers$ | async"
id="allItems"
+ disableSectionMargin
>
diff --git a/libs/components/src/section/section.component.ts b/libs/components/src/section/section.component.ts
index a60e232eec7..953da04044a 100644
--- a/libs/components/src/section/section.component.ts
+++ b/libs/components/src/section/section.component.ts
@@ -1,14 +1,21 @@
+import { coerceBooleanProperty } from "@angular/cdk/coercion";
import { CommonModule } from "@angular/common";
-import { Component } from "@angular/core";
+import { Component, Input } from "@angular/core";
@Component({
selector: "bit-section",
standalone: true,
imports: [CommonModule],
template: `
-
+
`,
})
-export class SectionComponent {}
+export class SectionComponent {
+ @Input({ transform: coerceBooleanProperty }) disableMargin = false;
+}
diff --git a/libs/components/src/section/section.mdx b/libs/components/src/section/section.mdx
index 33e640e4f06..52672ad59fb 100644
--- a/libs/components/src/section/section.mdx
+++ b/libs/components/src/section/section.mdx
@@ -13,6 +13,19 @@ import { SectionComponent, SectionHeaderComponent } from "@bitwarden/components"
Sections are simple containers that apply a responsive bottom margin and utilize the semantic
`section` HTML element.
+```html
+
+ Lots of amazing content!
+
+```
+
+To remove the bottom margin (for example, if the section is the last item on the page), you can pass
+the `disableMargin` input.
+
+```html
+
+```
+
@@ -24,7 +37,7 @@ Sections often contain a heading. Use `bit-section-header` inside of the `bit-se
```html
- I'm a section header
+ I'm a section header
Section content here!
diff --git a/libs/components/src/section/section.stories.ts b/libs/components/src/section/section.stories.ts
index 0f720d1dba0..0d36d6e5a11 100644
--- a/libs/components/src/section/section.stories.ts
+++ b/libs/components/src/section/section.stories.ts
@@ -41,6 +41,12 @@ export const Default: Story = {
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras vitae congue risus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc elementum odio nibh, eget pellentesque sem ornare vitae. Etiam vel ante et velit fringilla egestas a sed sem. Fusce molestie nisl et nisi accumsan dapibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed eu risus ex.
+