Buttons
Share row lift
Share row lift: A share pill that lifts a matching pill of destination icons up out of itself on hover and drops it back the moment attention leaves.
Using Share row lift
Share row lift uses the card preview frame with a light/dark 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 | #38BDF8 | No additional limit in the metadata. |
label | text | Share | Up to 20 characters |
destinations | number | 3 | From 2 to 5; step 1 |
liftDistance | number | 52 | From 32 to 90; step 2 |
stagger | boolean | true | No additional limit in the metadata. |
Which frameworks are available for Share row lift?
Share row lift 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 Share row lift depend on?
The React metadata lists these npm dependencies beyond React: motion.
What accessibility details are visible in Share row lift?
The React source for Share row lift includes: native elements (button); attributes and handlers (aria-expanded, aria-hidden, aria-label, onKeyDown); explicit roles (group); key comparisons (Escape). These are source observations. Verify accessible names, focus order and keyboard behavior in the composed page.
How does Share row lift handle reduced motion?
Share row lift reads the motion preference in its React source through useReducedMotion(). Preference-dependent expressions in index.tsx: glyphTransition: reduced ? "opacity 170ms ease" : "opacity 170ms ease, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1)"; transform: isOpen || reduced ? undefined : "translateY(6px)". Check the full implementation, shared styles and selected port with reduced motion enabled; these observations do not establish that every animation stops.