Buttons
Stair step shadow button
Stair step shadow button: A pale button that hands its accent border to the opposite two sides on hover while a staircase of hard, graded shadows steps out behind it and a tinted fill rises to meet the label.
Using Stair step shadow button
Stair step shadow button uses the inline preview frame with a light theme setting.
Customize the preview
These controls are passed to the demo. Defaults and limits describe the preview; consult the implementation for its full prop API.
| Control | Type | Default | Preview limits |
|---|---|---|---|
accent | color | #FF4D8D | No additional limit in the metadata. |
label | text | Add to shelf | Up to 22 characters |
steps | number | 9 | From 3 to 12; step 1 |
stepSize | number | 1 | From 1 to 4; step 1 |
radius | number | 8 | From 0 to 20; step 1 |
Which frameworks are available for Stair step shadow button?
Stair step shadow button is available for React, Vue, Svelte, Astro, HTML. The live preview uses React; the source observations below apply to index.tsx. Check the selected port before relying on the same interactions.
What does Stair step shadow button depend on?
The React metadata lists these npm dependencies beyond React: clsx, tailwind-merge.
What accessibility details are visible in Stair step shadow button?
The React source for Stair step shadow button includes: native elements (button); attributes and handlers (aria-hidden, onKeyDown, onKeyUp); key comparisons (Enter, Space). These are source observations. Verify accessible names, focus order and keyboard behavior in the composed page.
How does Stair step shadow button handle reduced motion?
Stair step shadow button reads the motion preference in its React source through matchMedia(prefers-reduced-motion). Preference-dependent expressions in index.tsx: bubbleTransition: pressed || reducedMotion ? "none" : "bottom 360ms ease 120ms, border-radius 360ms ease 120ms"; fillTransition: pressed || reducedMotion ? "none" : "width 240ms ease 0ms"; reducedMotion ? "1ms, 1ms, 1ms" : "220ms, 360ms, 120ms". Check the full implementation, shared styles and selected port with reduced motion enabled; these observations do not establish that every animation stops.