# Progress Pulse

> A soft, organic upload progress bar whose gradient, typography, card shape, elevation, surfaces and light/dark themes follow the active design system. The fill breathes with a gentle opacity pulse and animates only opacity and transform.

- Category: Progress
- Frameworks: Vanilla, React + CSS, React + Tailwind
- Design system: Odyssey
- Dark mode: yes
- Access: premium (Atheros AI Pass)
- Tags: progress-bar, pulse
- Page: https://builder.atheros.ai/components/progress-pulse
- Preview: https://d17nmjscumqk5d.cloudfront.net/builder/templates/tpl_builder_progress_pulse/preview-2714887592eb.webp

## Features

- A single soft, rounded determinate progress bar with a design-system gradient fill
- A calm opacity pulse that makes the fill breathe (opacity keyframe only — no layout thrash)
- Static upload progress seeded from `data-progress`, with no fake increment/decrement controls
- Determinate fill sized from a `data-progress` seed and animated with a transform `scaleX` transition (never a width transition)
- `role="progressbar"` with synchronized `aria-valuenow`, `aria-valuetext` and an accessible task label
- Both the task label and visible percentage use the theme's guaranteed primary foreground; accents remain concentrated in the fill and ambient blooms
- Asymmetric radial blooms and a tinted card whose radius and elevation propagate from the active design system
- Reduced-motion support that stops the pulse and neutralizes the transform transition

## Accessibility

- **ARIA role** — The bar uses `role="progressbar"` with `aria-valuenow`/`aria-valuemin`/`aria-valuemax`
- **Accessible name** — The card and progress bar reference the visible `<h1>` task label through `aria-labelledby`
- **Value semantics** — `pbApplyProgress()` synchronises the authored value, readout, `aria-valuenow` and `aria-valuetext` on load
- **Decorative value** — The visible percentage carries `aria-hidden="true"` and stays in sync with the bar's aria state
- **Focus indicators** — `:focus-visible` with `--ring` outline
- **Reduced motion** — `prefers-reduced-motion: reduce` stops the pulse and neutralizes transitions
- **Viewport** — `100dvh` for mobile-safe viewport height

## Common questions

**Which frameworks is Progress Pulse available in?**

Progress Pulse ships as Vanilla, React + CSS and React + Tailwind — HTML, CSS, JS and React source you can copy, download or clone into Atheros AI Builder.

**Is Progress Pulse free?**

Progress Pulse is a premium component. Anyone can preview it; the source, downloads and AI customisation are included with Atheros AI Pass.

**Does Progress Pulse support dark mode?**

Yes. Progress Pulse ships light and dark themes, both drawn from the Odyssey design system's tokens. Switch the preview to dark mode to compare them.

## Get the code

Preview Progress Pulse live, then sign in to copy or download the source, apply another design system, or ask the AI assistant to change it: https://builder.atheros.ai/components/progress-pulse

Every component on https://builder.atheros.ai is also reachable from Claude Code, Cursor and Codex through the Atheros MCP server (paid plans). Component index: https://builder.atheros.ai/llms-components.txt
