diff --git a/apps/browser/src/vault/popup/components/vault/vault-v2.component.ts b/apps/browser/src/vault/popup/components/vault/vault-v2.component.ts
index a2b778984d..c088626487 100644
--- a/apps/browser/src/vault/popup/components/vault/vault-v2.component.ts
+++ b/apps/browser/src/vault/popup/components/vault/vault-v2.component.ts
@@ -1,3 +1,4 @@
+import { ScrollingModule } from "@angular/cdk/scrolling";
import { CommonModule } from "@angular/common";
import { Component, OnDestroy, OnInit } from "@angular/core";
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
@@ -51,6 +52,7 @@ enum VaultState {
RouterLink,
VaultV2SearchComponent,
NewItemDropdownV2Component,
+ ScrollingModule,
],
providers: [VaultUiOnboardingService],
})
diff --git a/libs/components/src/item/index.ts b/libs/components/src/item/index.ts
index 56896cdc3c..3d65fdb8e0 100644
--- a/libs/components/src/item/index.ts
+++ b/libs/components/src/item/index.ts
@@ -1 +1,3 @@
export * from "./item.module";
+
+export { BitItemHeight, BitItemHeightClass } from "./item.component";
diff --git a/libs/components/src/item/item.component.ts b/libs/components/src/item/item.component.ts
index 4b7b57fa9f..58545a49b5 100644
--- a/libs/components/src/item/item.component.ts
+++ b/libs/components/src/item/item.component.ts
@@ -5,6 +5,20 @@ import { A11yRowDirective } from "../a11y/a11y-row.directive";
import { ItemActionComponent } from "./item-action.component";
+/**
+ * The class used to set the height of a bit item's inner content.
+ */
+export const BitItemHeightClass = `tw-h-[52px]`;
+
+/**
+ * The height of a bit item in pixels. Includes any margin, padding, or border. Used by the virtual scroll
+ * to estimate how many items can be displayed at once and how large the virtual container should be.
+ * Needs to be updated if the item height or spacing changes.
+ *
+ * 52px + 5.25px bottom margin + 1px border = 58.25px
+ */
+export const BitItemHeight = 58.25; //
+
@Component({
selector: "bit-item",
standalone: true,