Back to components
ElementMiscFree

Speed Dial React component

A floating action button that opens into a short menu of actions: the plus turns into a close cross while actions spring out one after another in a line or a quarter-circle fan, each with a label, with an optional dimmed backdrop and full keyboard control.

About the Speed Dial component

Speed Dial is a floating action button that opens a short list of related actions, each a round button with a label. The actions spring out one after another, up, down, left, right or fanned over a quarter circle, and the plus on the main button turns into a close icon. Labels sit on the side facing into the screen.

actions takes objects with label, icon and onClick, and the icon can be one of eight built-in names (edit, camera, upload, link, share, folder, mic, calendar) or your own element. direction sets the way it opens, corner the corner it sits in, and contained places it inside the nearest positioned parent instead of fixed to the screen. openOnHover opens it on hover as well as on click, backdrop dims the page while it is open, and picking an action closes it.

When to use it

Use Speed Dial on mobile-first screens and canvases where one floating button should lead to a few related actions: create note / photo / file, share options, quick tools.

Keep it to three to six actions; for more, open a menu or a sheet instead.

Installation

Add the Speed Dial component to your project with the shadcn CLI. It lands in components/speed-dial.tsx as plain React + Tailwind CSS source you own and can edit.

Install
Copied!
npx shadcn@latest add @reactframe/speed-dial

Or copy the source by hand and install its dependencies:

Install
Copied!
npm install motion clsx tailwind-merge

More Misc components

Animate on Scroll
Free
Payment Button
Free
Focus Trap
Free
Scroll Progress Bar
Free
Icon Swap Toggle
Free
Social Links
Free