overlays
Expanding Action Surface
A compact object action expands into an attached action row while retaining the source identity.
- overlays
- actions
- expand
- toolbar
One object's action row expands in place; it is not a generic dropdown trigger.
Live preview
Project brief
Actions expand from the object they affect.
Quick usage
import { ExpandingActionSurface } from "@pinky-ui/systems";
<ExpandingActionSurface />Presets
Default
Restrained production behaviour.
Default behaviour
Quiet
Reduced intensity for dense product screens.
disabled={true}
Install
Add @pinky-ui/systems as a dependency, or use the CLI to copy this component's source directly into your project — no dependency to manage, fully editable.
npm install @pinky-ui/systemspnpm add @pinky-ui/systemsyarn add @pinky-ui/systemsnpx pinky-ui add expanding-action-surfacePrefer to run the whole repository locally instead?
git clone https://github.com/florash/Pinky-UI.git
cd Pinky-UI
npm install
npm run devProps
| Prop | Type | Default | Description |
|---|---|---|---|
| className | string | — | Styles the action surface. |
Accessibility
- Keyboard and touch paths match the pointer interaction.
- Stable labels and values remain available without motion.
Performance
- Only the local action row mounts after intent.
- Reduced motion preserves the same attached row without travel.
Reduced motion
Motion resolves immediately while semantics, focus and state remain unchanged.
When to use
- Secondary actions that should stay hidden until the object is active
When not to use
- Primary calls to action or batch operations
Skill
Purpose
Use an expanding action surface when one object has secondary actions that should appear in place without becoming a generic dropdown.
Interaction anatomy
- A compact object row owns the More trigger.
- The attached action row expands beneath the same object.
- Closing returns to the compact source without changing identity.
Good for
Project rows, content cards and short object-level action sets.
Avoid
Primary CTAs, multi-record batch actions or large navigational menus.
Live example
Open More actions on the project brief and use the attached row.
Usage
<ExpandingActionSurface />Tune
Keep the row short, choose one clear trigger label, preserve the source header and use explicit destructive wording.
Accessibility and reduced motion
Use aria-expanded, aria-controls and a named toolbar. Escape closes and focus stays in the local surface. Reduced motion preserves the row without height interpolation.