# DashboardExpenseCategories

## 2026-08-11 — Align header padding with content (`px-6` → `px-4`)

**Prompted by:** Hellen Tran (PO) — Money page review

### What changed
- The card header (title + subtitle) now uses `px-4`, matching the `px-4` category rows below it. Previously the header inherited the base `CardHeader` `px-6`, so the title/subtitle sat 8px further from both edges than the rows — a visible right-side gap between the subtitle (e.g. "Last 30 days") and the row amounts.

### Why
- When the card is embedded under a `px-4` tab bar (Money + Dashboard account views), the header, the category rows, and the tab row now share one 16px inset, so their left and right edges align.

### Affected tokens / files
- `packages/shadcn/src/components/ui/dashboard-expense-categories.tsx`

## 2026-07-28 — Add `tooltipText` + `emptyMessage` props

**Prompted by:** frontend Storybook backfill (Sprint B — budget-bucket breakdown)

### What changed
- New optional `tooltipText` prop — renders an info-icon tooltip next to the subtitle (e.g. the Income bucket's internal-transfer caveat). Omitted → no icon, unchanged.
- New optional `emptyMessage` prop — the empty-state text, so each bucket can give a specific message (e.g. "No income categories available"). Defaults to the previous hardcoded "No expense categories available".

### Why
- The FE renders this list once per budget bucket; Income needs an explanatory tooltip and each bucket needs its own empty-state wording. Both were previously impossible without these props.

### Affected tokens / files
- `packages/shadcn/src/components/ui/dashboard-expense-categories.tsx`
