# Marquee

A seamless infinite ticker that pauses on hover and stands still for reduced motion.

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

## Usage

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

export function Ticker() {
  return (
    <Marquee duration={30} label="Disciplines">
      <span>Surfaces</span>
      <span>Motion</span>
    </Marquee>
  );
}
```

## 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/marquee
```

## Props

- `duration`: `number` (default `42`). Seconds per full cycle.
- `pauseOnHover`: `boolean` (default `true`). Pause the cycle while hovered.
- `separator`: `boolean` (default `true`). Diamond separator between items.
- `label`: `string`. Accessible name for the marquee region.

## Accessibility

The second copy is aria-hidden and inert. Hover/focus pauses, and a visible Pause/Play button gives explicit control.

## Motion

Linear transform loop — GPU-friendly, no layout thrash.
