# Fill Wave (`.sds-btn-fill-wave`)

A tilted wave climbs in and levels flat while the label bobs once above it. Buttons animation in SDS Motion Forge v5.0.0. It loops continuously as soon as the class is applied.

- Page: https://sds-motion-forge.netlify.app/animations/btn-fill-wave/
- Category: Buttons (https://sds-motion-forge.netlify.app/categories/buttons/)
- Animated properties: transform
- Compositor-only: yes
- Needs child elements: no
- Needs per-character spans: no
- JavaScript: none required

## Use it

```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@salkomdesignstudio/sds-motion-forge/dist/categories/buttons.min.css" />

<button class="sds-btn-fill-wave">Button</button>
```

## How it works

Plays as soon as the class is applied, looping continuously. It animates movement and scale (transform) — compositor-only, so it never causes page reflow. `--sds-duration-slower` controls the speed and `--sds-ease-decelerate` controls the feel — override either on the element or :root (the sds-fast/sds-slow modifier classes do exactly that).

## Related

- [Fill Corner](https://sds-motion-forge.netlify.app/animations/btn-fill-corner/)
- [Fill Drain](https://sds-motion-forge.netlify.app/animations/btn-fill-drain/)
- [Fill Iris](https://sds-motion-forge.netlify.app/animations/btn-fill-iris/)
- [Fill Rise](https://sds-motion-forge.netlify.app/animations/btn-fill-rise/)
- [Fill Split](https://sds-motion-forge.netlify.app/animations/btn-fill-split/)
- [Fill Sweep](https://sds-motion-forge.netlify.app/animations/btn-fill-sweep/)
- [Fire](https://sds-motion-forge.netlify.app/animations/btn-fire/)
- [Flare](https://sds-motion-forge.netlify.app/animations/btn-flare/)
