# AsOf

> Timestamp with live relative formatting and a stated timezone.

Source: https://lopifi.com/components/as-of
Part of: Lopifi — US GAAP books on autopilot, reviewed by a CPA (https://lopifi.com)

---

- **Family:** Primitives — The layer everything else composes. Build these first; nothing above them is right until they are.
- **Status:** Implemented
- **Spec:** https://lopifi.com/docs/catalog/01-primitives

## Install

```bash
npx shadcn@latest add @lopifi/theme
npx shadcn@latest add @lopifi/as-of
```

## Specification

```tsx
<AsOf date={lastSync} />   // "2m ago"  ·  title="6 Sep 2026, 09:12 UTC"
```

Relative under an hour, absolute beyond. **Timezone always stated** in the absolute form. Updates from a single shared interval — never one `setInterval` per instance — and pauses on tab hide and off-screen.

Every figure in this system is accompanied by one of these. A balance without an "as of" is a rumor.

## Rules this component obeys

Money is minor units, never floats. `null` is not `0` and neither is redacted. Negatives render in accounting parentheses with the parenthesis column reserved on both sides. Debit and credit are two columns. Per-currency decimal places. Polarity is explicit — up is not always good. Every figure states its period, entity, currency, basis and as-of.
