Skip to content

No.58 · Buttons· New

Breathe Button

A gradient call to action with a halo that slowly swells and fades, as if the button were breathing. Hover brightens the halo and quickens the breath, and the arrow slides forward.

The prompt

Copy this text

Automatic copying is unavailable. Copy the selected text using your device’s copy command.

Written for the variant you picked above: Light

Build a 'Start building' call-to-action pill (52px tall, fully rounded, a 135° gradient, white Inter 600 at 16px, a light 1px top edge and a small shadow) with a trailing arrow. Gradient: indigo #4f46e5 to violet #9333ea (on dark, #6366f1 to #a855f7). Behind the button, a copy of the same gradient, blurred by 14px and extending 2px past it, forms a halo that breathes: scale 0.96 ↔ 1.06 and opacity 0.35 ↔ 0.7 over 3.2s (ease in-out, infinite). On hover the halo brightens to 85% opacity and breathes twice as fast (1.6s) and the arrow slides 3px right; press scales to 0.97. Focus: a 2px ring #2563eb / #6ea8fe, 4px out. Show it centred on a #f6f6f5 / #0a0a0a page. Selected variant — Light (light): Palette for this theme (Light): --brth-a #4f46e5; --brth-b #9333ea; --brth-focus #2563eb. Treat these as the root colour tokens, one value per role, and name them to suit your code. Select it with the theme option set to "light". Keep every dimension, spacing value, state and motion from the brief unchanged, and keep text at 4.5:1 contrast or better on these surfaces. This selection takes precedence over references to other themes or options in the general brief. Implement this selected appearance; do not add a variant picker or alternative appearances unless requested. Implementation requirements: Use React and TypeScript. Keep the component self-contained, with uniquely scoped CSS and no animation libraries. Include required imports, styles and font setup in the result. Interaction: A normal button: Enter or Space activates it; hover only strengthens the halo. Motion: A 3.2s breathing halo (1.6s on hover) and a 0.2s arrow slide. Reduced motion holds the halo still at its resting glow. Accessibility: Native button; white text keeps 4.5:1 on both gradient ends; the halo is decorative. Responsive behavior: One fixed-height pill. Touch: The halo keeps breathing without hover. Preserve keyboard access, visible focus and reduced-motion behavior. Keep fictional demo data and simulated service calls in a separate usage example; expose callbacks for real actions and recover from rejected requests. Keep usage-example links inside the demo: use local buttons or prevent navigation. Demonstration links must not navigate to Vitrine routes or open other pages; preserve real URL support in the reusable component itself. Verify the result at narrow and wide viewport sizes, with keyboard input and reduced motion enabled.

Notes

Interaction
A normal button: Enter or Space activates it; hover only strengthens the halo.
Motion
A 3.2s breathing halo (1.6s on hover) and a 0.2s arrow slide. Reduced motion holds the halo still at its resting glow.
Accessibility
Native button; white text keeps 4.5:1 on both gradient ends; the halo is decorative.
Responsive
One fixed-height pill.
On touch
The halo keeps breathing without hover.

Featured

425 components