Skip to contentSkip to navigationSkip to topbar
Paste assistant Assistant
Figma
Star

Status Menu

Version 2.1.1GithubStorybookPeer review pending

A Status Menu communicates the status of a process or connectivity to an application or service, and provides a way to update that status type.

Installation

Installation page anchor
yarn add @twilio-paste/Status - or - yarn add @twilio-paste/core
import {
  StatusMenu,
  StatusMenuBadge,
  StatusMenuItem,
  StatusMenuItemChild,
  useStatusMenuState,
  StatusMenuItemRadio,
  StatusMenuItemCheckbox,
} from '@twilio-paste/core/status';

const ProcessStatusMenu = () => {
  const [process, setProcess] = React.useState(ProcessObject.Success);
  const menu = useStatusMenuState();
  const onClick = (status) => {
    setProcess(ProcessObject[status]);
    menu.hide();
  };
  return (
    <>
      <StatusMenuBadge {...menu} i18nButtonLabel="Change account" variant={process.variant}>
        {process.children}
      </StatusMenuBadge>
      <StatusMenu {...menu} aria-label="Preferences">
        <StatusMenuItem {...menu} onClick={() => onClick('Success')} variant="default">
          <StatusMenuItemChild variant="ProcessSuccess">Complete</StatusMenuItemChild>
        </StatusMenuItem>
        <StatusMenuItem {...menu} onClick={() => onClick('Neutral')} variant="default">
          <StatusMenuItemChild variant="ProcessNeutral">In review</StatusMenuItemChild>
        </StatusMenuItem>
        <StatusMenuItem {...menu} onClick={() => onClick('Warning')} variant="default">
          <StatusMenuItemChild variant="ProcessWarning">Needs attention</StatusMenuItemChild>
        </StatusMenuItem>
        <StatusMenuItem {...menu} onClick={() => onClick('Error')} variant="default">
          <StatusMenuItemChild variant="ProcessError">Rejected</StatusMenuItemChild>
        </StatusMenuItem>
        <StatusMenuItem {...menu} onClick={() => onClick('InProgress')} variant="default">
          <StatusMenuItemChild variant="ProcessInProgress">In-progress</StatusMenuItemChild>
        </StatusMenuItem>
        <StatusMenuItem {...menu} onClick={() => onClick('Disabled')} variant="default">
          <StatusMenuItemChild variant="ProcessDisabled">Paused</StatusMenuItemChild>
        </StatusMenuItem>
        <StatusMenuItem {...menu} onClick={() => onClick('Draft')} variant="default">
          <StatusMenuItemChild variant="ProcessDraft">Draft</StatusMenuItemChild>
        </StatusMenuItem>
      </Menu>
    </>
  );
};

StatusBadge

StatusBadge page anchor

element

Overrides the default element name to apply unique styles with the Customization Provider

Type
any
Default
STATUS_MENU_BADGE

variant

Sets the display style of the Status Menu Badge

Type
any

variant RequiredRequired

Sets the display style of the Status Menu Item

Type
StatusBadgeVariants

element

Overrides the default element name to apply unique styles with the Customization Provider

Type
any
Default
MENU_ITEM_STATUS