# PlaceCard

Compact, mobile-first card for a single geographic place. Name, optional address, and the coordinate readout stack vertically and truncate — never scroll horizontally. The title is adaptive (name → address → coordinates) so a nameless waypoint still renders. Pass an `<Input/>` as `name` for inline editing; use `leading`/`trailing` slots for an icon and a checkbox/switch.

[View examples](https://marsam.rahhal.app/components/place-card) · [Agent index](https://marsam.rahhal.app/llms.txt)

**Import:** `@rahhal/ui/place-card`

**Category:** `surfaces`

## Behavior

- **Adaptive title** — renders `name`; if falsy, falls back to `address`, then to the formatted coordinates, so the card is never blank.
- The coordinate readout is pinned to `dir="ltr"` so `lat, lng` reads left-to-right even under RTL; everything else mirrors via logical utilities.
- Pass a node (e.g. an `<Input/>`) as `name` to edit the title inline — the coordinates below double as a hint for unnamed points.

## Props

| prop | type | purpose |
| --- | --- | --- |
| name | ReactNode | primary label · falsy falls back to address, then coordinates · pass an <Input/> to edit inline |
| address | ReactNode | secondary location line |
| latitude / longitude | number | decimal degrees (required) |
| elevation | number | null | shown after the coordinates when set |
| leading | ReactNode | icon/avatar slot · defaults to a map-pin |
| trailing | ReactNode | checkbox / switch / chevron at the end |
| badges | ReactNode | chips beneath the coordinates (e.g. a source tag) |
| selected | boolean | primary ring highlight |
| muted | boolean | dim the card (e.g. an excluded row) |
| interactive | boolean | hover/active/focus affordances + role=button |
| coordinatePrecision | number | decimals in the coordinate readout · default 5 |
| hideCoordinates | boolean | omit the coordinate line |

## When to use what

- **PlaceCard** — a location in a vertical list (import review, saved places, search results) on mobile.
- **ListItem** — a generic settings-style row with no coordinates.
- **Table** — dense multi-column data where horizontal scroll is acceptable.
