# ScrollProgress

A thin reading indicator driven by real document scroll progress.

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

## Usage

```tsx
import { ScrollProgress, Stack } from "mizu-ui";

export function Example() {
  return (
    <Stack gap={20}>
      <ScrollProgress label="Documentation reading progress" />
      <p className="mizu-field-hint">
        Scroll this document. The line measures the available document scroll,
        including the API below.
      </p>
    </Stack>
  );
}
```

## 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/scroll-progress 0xuser64bit/mizu/stack
```

## Props

- `label`: `string` (default `"Reading progress"`). Accessible progress name.
- `className`: `string`. Optional placement and styling.

## Accessibility

Named progressbar exposes a bounded 0–100 value. No fabricated reading time or completion state.

## Motion

A managed Motion scroll value updates the line directly; the announced percentage updates only on integer changes.
