# Motion Top Loading Bar

Route change indicator in an app shell while the next page loads.

- id: `motion-top-loading-bar`
- Page: https://agentic-ui-kit.com/components/motion-top-loading-bar
- Live preview: https://agentic-ui-kit.com/live/component/motion-top-loading-bar

## Install

```bash
agentic-ui add motion-top-loading-bar
npx shadcn@4.17.0 add @agentic-ui/motion-top-loading-bar
```

## Metadata

- **Level:** block
- **Category:** motion
- **Installable in:** Radix UI (registry variant new-york), Base UI (registry variant base-vega)
- **Capabilities:** route-loading-indicator, estimated-trickle, reported-progress, complete-and-fade, spinner-variant, semantic-colour-token, viewport-or-container-position, progressbar-when-determinate, decorative-when-estimated, state-callback, rtl-aware, reduced-motion-fallback
- **Intents:** track-status, navigate
- **Suits domains:** saas, devtools, analytics, operations, ecommerce, knowledge
- **Interaction:** live-updates, keyboard-navigation
- **Screen role:** flow
- **Density:** compact
- **Dark mode:** yes
- **Use it for:** Route change indicator in an app shell while the next page loads, Top bar that follows reported progress of a data export or a file upload, Loading hint at the top of a panel or preview frame that refreshes its content
- **Avoid when:** Long operations that need a label, a percentage or a cancel action (use a visible progress component), Loads that finish in under about 100 ms, where the bar only flashes, Multi-step processes where each step has a name (use motion-step-loader)
- **Preserve when adapting:** transform-and-opacity-only, forward-only-progress, progressbar-only-when-determinate, visible-without-motion, work-only-while-loading-in-view
- **Replace when adapting:** color, variant, height, label, position
- **Adaptation effort:** low
- **Coupling:** low
- **Quality breakdown:** visual 8/10, responsive 9/10, accessibility 9/10, code 9/10
- **Uses primitives:** progress, spinner
- **npm dependencies:** @agentic-ui/motion, @agentic-ui/tokens, react
- **Motion:** profile subtle, library css, reduced-motion fallback yes, target 60 fps
- **Registry dependencies:** lib-motion
