[PM-40848] Add the shared folder card grid component (libs/vault) - #22390
[PM-40848] Add the shared folder card grid component (libs/vault)#22390jengstrom-bw wants to merge 8 commits into
Conversation
🤖 Bitwarden Claude Code ReviewOverall Assessment: APPROVE Re-reviewed Code Review DetailsNo findings. Verified this pass: the previously flagged Noted but not flagged (repeat of the earlier pass, since the spacing commit landed after it): removing |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #22390 +/- ##
==========================================
+ Coverage 53.45% 53.65% +0.20%
==========================================
Files 4275 4288 +13
Lines 135303 136110 +807
Branches 21326 21503 +177
==========================================
+ Hits 72328 73034 +706
- Misses 57688 57728 +40
- Partials 5287 5348 +61 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
🎟️ Tracking
Jira
📔 Objective
Add a standalone, presentational Angular component to libs/vault (@bitwarden/vault) that renders a shared folder's direct child folders as a responsive card grid. Each card is an anchor whose link is built via the host-provided RoutedVaultFilterService.createRoute (no navigate output, no hardcoded query param) and shows a folder icon, the folder name, and a trailing chevron. The first three rows always render; overflow rows collapse inside a bit-disclosure toggled by bitDisclosureTriggerFor, and because the revealed rows appear above the trigger, expanding is announced with LiveAnnouncer. The section header and count use the existing Vfo1I18nPipe, and the folder icon uses Vfo1TerminologyService (falling back to bwi-collection-shared until the collectionIconClass signal from PM-40193 lands). Do not re-add the feature flag or hardcode terminology/icons. The component fetches no data and has no loading state of its own. Mirror the composition of vault-add-item-grid, but use the responsive auto-fill / minmax(240px) layout up to 3 columns instead of its fixed breakpoints.
📸 Screenshots