# Reveal

Scroll-triggered entrance with direction, distance and delay control.

- Family: Motion, imported from `mizu-ui` or `mizu-ui/motion`
- Docs: https://mizu.user64bit.world/components/reveal
- Source: https://github.com/0xuser64bit/mizu/blob/main/packages/mizu/src/motion/Reveal.tsx

## Usage

```tsx
import { Reveal } from "mizu-ui";

export function Grid() {
  return (
    <Reveal delay={0.1} y={24}>
      <p>Your content arrives here.</p>
    </Reveal>
  );
}
```

## Copy it with the shadcn CLI

```sh
npx shadcn@latest init 0xuser64bit/mizu/preset # once, where there is no components.json
npx shadcn@latest add 0xuser64bit/mizu/reveal
```

## Props

- `delay`: `number` (default `0`). Seconds before entrance starts.
- `x / y`: `number` (default `0 / 32`). Entrance offset in pixels.
- `duration`: `number` (default `0.95`). Entrance duration in seconds.
- `once`: `boolean` (default `true`). Reveal only the first time it enters the viewport.

## Accessibility

Content is present in the DOM before revealing — no content is created or removed by the animation.

## Motion

0.95s expo rise, fires once at 70px viewport margin.
