Reveal
A trailing affordance that slides in when its host is hovered or focused: a pill's chevron, a title's pencil.
import { Reveal } from "@arcadia/ui"A trailing affordance that slides in when its host is under the pointer or holds keyboard focus: the chevron of a pill that opens a pane, the pencil beside a title that can be renamed. The root is the host, a span or the element render gives it; end is the part that appears, sliding --reveal-offset into place as it fades in. Its room is always kept, so the content never shifts.
Set shown while what it opens is open, so the affordance stays in view with the pointer elsewhere.
Examples
The revealed part stays in the tab order and the accessibility tree while hidden: keyboard focus on the host or inside it brings it into view, so a control in end is never reachable only by the pointer. A decorative glyph in end is hidden from assistive tech by the Icon itself. Reduced motion keeps the fade and drops the slide.
Reveal
endrequired- ReactNode
- The affordance that slides in after the content: a chevron on a pill that opens something, a title's pencil.
shown- booleanDefault false
- Keep it in view whatever the pointer does: what it opens is open.
pace- "fast" | "slow"Default "fast"
fast: a control under the pointer.slow: a title that only hints it can be edited.rootStyle- RootStyle
- Typed StyleX override: where it sits.
render- ReactElement | (props, state) => ReactElement
- Replace the rendered element, e.g.
render={<a href="/settings" />}.
Rest props go to <span> props and render.