Skip to main content

Common Examples

To use the Button, import it from @servicetitan/anvil2-rn and pass a required label. The kit forbids children; all content flows through typed props.

Variants

The variant prop sets visual intent. Use "primary" for the main action, "secondary" for supporting actions, "ghost" for low-emphasis actions, and "danger" for destructive work.

Sizes

The size prop sets the target size. "medium" is the default.

Icons

Pass a bare icon element for an icon-only button. Pair { icon, position } with the visible label to place an icon before or after the text. Import icons from @servicetitan/anvil2-icons/react-native.
Icon-only buttons apply label as accessibilityLabel.

Disabled

Set isDisabled to prevent press and apply the disabled treatment.

Accessibility

  • Every Button requires a label, which is always the accessible name.
  • Icon-only buttons expose that name through accessibilityLabel.
  • Disabled buttons set accessibilityState.disabled and do not fire onPress.
  • The control uses accessibilityRole="button".
Last modified on September 1, 2026