## Wishlist (S—283)

A saved-items list with price-drop tags, sort by recent or price, move to bag, and remove with an undo toast.

- URL: https://sundaeui.dev/components/wishlist
- Category: UI components · Art direction: Refined
- Access: Free (no account needed)
- Stack: React 18+, TypeScript, plain CSS; dependencies: none
- Install: `npx shadcn@latest add https://sundaeui.dev/r/wishlist.json`
- Tags: favorites, saved, price-drop, list, wishlist, ecommerce

Each item shows its current price and, when it has dropped, the old price struck through with the saving. Sort switches between most recent and lowest price.
Move to bag and remove both slide the row out; remove keeps an Undo for a few seconds.

### Usage

```tsx
import { Wishlist } from '@/components/sundae/wishlist'

<Wishlist />
```

### Props

- `items` (`{ id: string; name: string; price: number; was?: number; note?: string }[]`, required): Saved items.
- `onMove` (`(id: string) => void`): Called on move to bag.
- `fill` (`'dark' | 'light'`, default `'dark'`): Surface: dark or light.

### When to use

- Store accounts, saved-for-later beneath a cart.

### When not to use

- Registries shared with others: add owner and claimed states.

### Accessibility

- Sort is a radiogroup; each row action is labelled with the item name.
- Removal and moves are announced with an undo.
- Reduced motion removes the movement and keeps every state change.
