Floating Actions
A floating bar for surfacing contextual actions, typically shown when items are selected.1<FloatingActions variant="inline" aria-label="Selection actions">2 <Chip3 variant="outline"4 size="large"5 color="accent"6 leadingIcon={<CheckCircledIcon />}7 isDismissible8 >9 2 selected10 </Chip>11 <FloatingActions.Separator />12 <Button variant="outline" color="neutral" size="small">13 Move to14 </Button>15 <Button variant="outline" color="neutral" size="small">
Anatomy
Import and assemble the component along with other primitives. FloatingActions provides the container (built on top of Separator for the divider); everything inside is freely composable.
1import { FloatingActions, Chip, Button } from '@raystack/apsara'23<FloatingActions aria-label="Selection actions">4 <Chip isDismissible>2 selected</Chip>5 <FloatingActions.Separator />6 <Button>Move to</Button>7 <Button>Actions</Button>8</FloatingActions>
API Reference
Root
The container. Renders as a role="toolbar" element by default and pins itself to the viewport (variant="floating").
Prop
Type
Separator
A vertical divider sized to the bar's content.
Prop
Type
Variants
Floating
The default. Renders with position: fixed and is anchored to the viewport via side and align. Use this when the bar should follow the user as the page scrolls (bulk-selection toolbars, contextual action trays).
1<FloatingActions side="bottom" align="center" aria-label="Selection actions">2 <Chip3 variant="outline"4 size="large"5 color="accent"6 leadingIcon={<CheckCircledIcon />}7 isDismissible8 >9 2 selected10 </Chip>11 <FloatingActions.Separator />12 <Button variant="outline" color="neutral" size="small">13 Move to14 </Button>15 <Button variant="outline" color="neutral" size="small">
Inline
Opt out of viewport positioning when you want the bar to flow with surrounding content (e.g. inside a card, table cell, or storybook frame).
1<FloatingActions variant="inline" aria-label="Selection actions">2 <Chip3 variant="outline"4 size="large"5 color="accent"6 leadingIcon={<CheckCircledIcon />}7 isDismissible8 >9 2 selected10 </Chip>11 <FloatingActions.Separator />12 <Button variant="outline" color="neutral" size="small">13 Move to14 </Button>15 <Button variant="outline" color="neutral" size="small">
Examples
Bulk actions
Pair a dismissible Chip with action buttons to build a selection toolbar.
1<FloatingActions variant="inline" aria-label="Bulk actions">2 <Chip3 variant="outline"4 size="large"5 color="accent"6 leadingIcon={<CheckCircledIcon />}7 isDismissible8 >9 5 selected10 </Chip>11 <FloatingActions.Separator />12 <Button variant="outline" color="neutral" size="small">13 Archive14 </Button>15 <Button variant="outline" color="neutral" size="small">
Icon-only actions
Use IconButton inside the bar for compact toolbars.
1<FloatingActions variant="inline" aria-label="Row actions">2 <IconButton aria-label="Edit" variant="text" color="neutral" size="small">3 <Pencil2Icon />4 </IconButton>5 <IconButton aria-label="Upload" variant="text" color="neutral" size="small">6 <UploadIcon />7 </IconButton>8 <FloatingActions.Separator />9 <IconButton10 aria-label="More info"11 variant="text"12 color="neutral"13 size="small"14 >15 <InfoCircledIcon />
Accessibility
- The root uses
role="toolbar"so it is announced as a group of interactive controls. Override theroleprop when a different grouping is more appropriate. - The separator renders with
role="separator"andaria-orientation="vertical"via the Base UI primitive, communicating structural grouping between action clusters. - Provide an
aria-labelon the root when the toolbar's purpose is not obvious from its contents (e.g.aria-label="Selection actions").