Free
Pro

Speed Dial

A floating action button that expands a stack of secondary actions. Supports up/down/left/right expansion, corner placement, optional labels, and closes on outside click, Escape, or action press.

freenew

Basic usage

Pass an SpeedDialAction[] and listen for (actionClick). Use [fixed]="false" inside a relative container for demos and page sections.

Last action:

HTML


TypeScript

Direction

Set direction to up, down, left, or right.

HTML

Labels & disabled actions

Enable showLabels to show each action’s label. Mark actions with disabled: true to prevent activation.

HTML

Installation

Run the following command to add this component to your project:

bash

npx base-ui-cli add speed-dial

API Reference

For AI agents

Copy a prompt with the registry name, CLI install, and import — or add the Base UI MCP server.

bash

npx -y base-ui-mcp

Base UI provides standalone components. Import the exact elements you want to use into your component.

typescript (Example)

// Install: npx base-ui-cli add speed-dial
// Paths are relative to aliases.components (default: src/app/components)
import { SpeedDialAction, SpeedDialComponent } from './speed-dial/speed-dial.component';

@Component({
  selector: 'app-your-component',
  imports: [
    SpeedDialComponent
  ],
  template: `...`
})
export class YourComponent {}

API for speed-dial — generated from JSDoc in the library source.

API reference for speed-dial
APIMemberTypeDefaultDescription
SpeedDialActioniconstringIcon name from the sprite sheet.
SpeedDialActionlabelstringOptional visible label next to the action button.
SpeedDialActionariaLabelstringAccessible name; falls back to `label` or `icon`.
SpeedDialActioncolorIconButtonColorOptional semantic color for this action button.
SpeedDialActiondisabledbooleanWhen true, the action cannot be activated.
SpeedDialActionidstringOptional id for tracking / event payloads.
base-speed-dialactionsSpeedDialAction[][]Actions revealed when the dial is open.
base-speed-dialdirectionSpeedDialDirection'up'Direction the action stack expands from the trigger.
base-speed-dialpositionSpeedDialPosition'bottom-right'Corner placement when positioned against the viewport or a relative parent.
base-speed-dialfixedbooleantrueWhen true (default), uses `position: fixed`. Set false for `absolute` inside a `relative` parent.
base-speed-dialcolorIconButtonColor'primary'Trigger / default action button color.
base-speed-dialsizeIconButtonSize'lg'Size of the trigger and action icon buttons.
base-speed-dialopenIconunknown'plus'Icon shown on the trigger when closed.
base-speed-dialcloseIconunknown'x'Icon shown on the trigger when open.
base-speed-dialshowLabelsbooleanfalseWhen true, shows each action’s `label` beside the button.
base-speed-dialcloseOnActionbooleantrueWhen true, clicking an action closes the dial (default).
base-speed-dialariaLabelunknown'Speed dial'Accessible name for the speed-dial group / trigger.
base-speed-dialclassstring''Extra host classes merged via `cn()`.
base-speed-dialopenbooleanfalseOpen state (two-way). Prefer `[(open)]` when controlling from outside.
base-speed-dial(actionClick)SpeedDialActionEmitted when an enabled action button is clicked.