Rebar UI

1.0

opinion

ActionSheet

A short list of choices that slides up from the bottom.

Task actionsBackdrop tap and Cancel dismiss

Offline sync for tasks

Jonas · Eng

Harbour homepage

Maya · Design

Nothing chosen yet.

Destructive
No title
Long text
Custom cancel

In context

On the phoneA task's actions, and an export sheet with a disabled choice
Harbour rebrand

Offline sync for tasks

Jonas · Eng

Harbour homepage

Maya · Design

Offline sync for tasks

Assign to…
Move to…
Duplicate
Delete task
Rota export

Export shift pattern

Leo · Ops

Offline sync for tasks

Jonas · Eng

48 shifts, 6 crew

Export rota
Export as CSV
Export as PDF
Send to payroll

Info, divider, link, loading

ActionSheet extrasA static info row, a divider, a link row, a loading row, danger and disabled
Static info row
Loading item
Danger and disabled
Row menu and article menuIn context: the ••• button opens the sheet

Ask

  • Why do Catholics confess to a priest?2 hours ago
  • Is it a sin to miss Mass when I am sick, or when I am up all night caring for a newborn?Yesterday
  • Explain todayΓÇÖs Gospel3 days ago

Props

PropTypeRequiredDefault
openboolean | undefinedNo—
defaultOpenboolean | undefinedNo—
onOpenChange((open: boolean) => void) | undefinedNo—
triggerReactNodeNo—
titleReactNodeNo—
actionsActionSheetAction[] | undefinedNo—
itemsActionSheetAction[] | undefinedNo—
cancelLabelstring | null | undefinedNoCancel
appearance"default" | "popup" | undefinedNo—
containerHTMLElement | null | undefinedNo—
closeOnSelectboolean | undefinedNotrue
dismissibleboolean | undefinedNotrue

Accessibility

Built on the same Drawer/Radix Dialog wiring as BottomSheet: focus trapped while open, Esc and backdrop click close it. Every action is a real, full-width button at least 44px tall; selecting one (or Cancel) closes the sheet after its onSelect. The handle is a real drag surface, never the only way out.

data-rebar-* attributes

data-rebar-component="action-sheet" on the panel; data-rebar-part="actions" on the list, "action" per button, "cancel" on the dismiss button.

Migrating to Ant Design

AntD has no direct equivalent (an action sheet is a mobile-native pattern). The closest antd building block is a Dropdown menu, which loses the bottom-anchored layout and the separate Cancel row.

appearance="popup", cancelLabel={null}

appearance="popup" renders plain left-aligned text rows (info line with a hairline, destructive in --rebar-popup-danger); cancelLabel={null} omits the Cancel button; closeOnSelect={false} keeps the menu open under a follow-up.