Fab & Speed Dial
Floating action buttons for primary actions and speed dial menus that reveal multiple actions on hover or click.
FAB Basic
Basic FAB
Floating action buttons with different variants
import { Fab } from 'fluxo-ui';
<Fab icon={PlusIcon} variant="primary" onClick={() => console.log('clicked')} />
<Fab icon={PencilIcon} variant="success" />
<Fab icon={HeartIcon} variant="danger" />FAB Sizes
FAB Sizes
Five size options from extra small to extra large
FAB Extended
Extended FAB
FAB with icon and label text
Speed Dial
Basic Speed Dial
Hover over the FAB to reveal action buttons
import { SpeedDial } from 'fluxo-ui';
const actions = [
{ icon: CopyIcon, label: 'Copy', onClick: () => console.log('copy') },
{ icon: PrintIcon, label: 'Print', onClick: () => console.log('print') },
{ icon: ShareIcon, label: 'Share', onClick: () => console.log('share') },
{ icon: PencilIcon, label: 'Edit', onClick: () => console.log('edit') },
];
<SpeedDial items={actions} />Directions
Directions
Speed dial opens in up, down, left, or right direction
Up
Down
Left
Right
Speed Dial Variants
Trigger Variants
Different color themes for the speed dial trigger
Speed Dial Sizes
Size Options
Five sizes from xs to xl
Click Trigger & Colored Actions
Click Trigger & Colored Actions
Click to toggle, and actions with individual color variants
Import
import { Fab, SpeedDial } from 'fluxo-ui';
import type { SpeedDialItem } from 'fluxo-ui';Fab Props
iconIconComponent | ReactElement"-"Icon displayed in the button
iconIconComponent | ReactElement"-"Icon displayed in the button
labelstringLabel text (visible in extended mode)
labelstringLabel text (visible in extended mode)
variant'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'secondary'"'primary'"Color variant
variant'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'secondary'"'primary'"Color variant
size'xs' | 'sm' | 'md' | 'lg' | 'xl'"'md'"Button size
size'xs' | 'sm' | 'md' | 'lg' | 'xl'"'md'"Button size
position'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | 'bottom-center' | 'top-center'"'bottom-right'"Fixed position on screen (when fixed=true)
position'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | 'bottom-center' | 'top-center'"'bottom-right'"Fixed position on screen (when fixed=true)
fixedboolean"false"Use fixed positioning on screen
fixedboolean"false"Use fixed positioning on screen
extendedboolean"false"Show label text alongside icon
extendedboolean"false"Show label text alongside icon
disabledboolean"false"Disable the button
disabledboolean"false"Disable the button
onClick(e: MouseEvent) => voidClick handler
onClick(e: MouseEvent) => voidClick handler
classNamestringAdditional CSS class
classNamestringAdditional CSS class
ariaLabelstringAccessible label
ariaLabelstringAccessible label
idstringHTML id attribute
idstringHTML id attribute
titlestringTooltip text
titlestringTooltip text
SpeedDial Props
iconIconComponent | ReactElementCustom icon for the trigger (default: plus)
iconIconComponent | ReactElementCustom icon for the trigger (default: plus)
openIconIconComponent | ReactElementIcon shown when open (default: close/X)
openIconIconComponent | ReactElementIcon shown when open (default: close/X)
itemsSpeedDialItem[]"-"Array of action items with icon, label, variant, onClick
itemsSpeedDialItem[]"-"Array of action items with icon, label, variant, onClick
variant'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'secondary'"'primary'"Trigger button color variant
variant'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'secondary'"'primary'"Trigger button color variant
size'xs' | 'sm' | 'md' | 'lg' | 'xl'"'md'"Overall size
size'xs' | 'sm' | 'md' | 'lg' | 'xl'"'md'"Overall size
position'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | 'bottom-center' | 'top-center'"'bottom-right'"Fixed position (when fixed=true)
position'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | 'bottom-center' | 'top-center'"'bottom-right'"Fixed position (when fixed=true)
direction'up' | 'down' | 'left' | 'right'"'up'"Direction actions expand
direction'up' | 'down' | 'left' | 'right'"'up'"Direction actions expand
trigger'hover' | 'click'"'hover'"How to open the speed dial
trigger'hover' | 'click'"'hover'"How to open the speed dial
layout'linear' | 'circle' | 'semi-circle'"'linear'"Action layout pattern
layout'linear' | 'circle' | 'semi-circle'"'linear'"Action layout pattern
fixedboolean"false"Use fixed positioning
fixedboolean"false"Use fixed positioning
disabledboolean"false"Disable the speed dial
disabledboolean"false"Disable the speed dial
showLabelsboolean"true"Show text labels next to action icons
showLabelsboolean"true"Show text labels next to action icons
showTooltipboolean"false"Show native tooltip on actions
showTooltipboolean"false"Show native tooltip on actions
maskboolean"false"Show background overlay when open
maskboolean"false"Show background overlay when open
openbooleanControlled open state
openbooleanControlled open state
onOpenChange(open: boolean) => voidCallback when open state changes
onOpenChange(open: boolean) => voidCallback when open state changes
classNamestringAdditional CSS class
classNamestringAdditional CSS class
ariaLabelstringAccessible label
ariaLabelstringAccessible label
idstringHTML id attribute
idstringHTML id attribute
Features
Multiple Variants
Seven color variants for both FAB and SpeedDial trigger buttons
Directional Expand
Speed dial actions expand up, down, left, or right from the trigger
Hover & Click Triggers
Open on hover for quick access or click for intentional interaction
Extended FAB
FAB with both icon and label for clearer action description
Mask Overlay
Optional backdrop overlay to focus attention on the speed dial actions
Fixed Positioning
Pin FAB or SpeedDial to any screen corner or center edge