Skip to main content

MultinaireMenuButton

List-item style button for menu items and settings rows. Supports a leading icon, title, value display, and trailing icon.

Basic Usage

import { MultinaireMenuButton } from '@multinaire/multinaire-design';

<MultinaireMenuButton
leading="Setting2"
title="Settings"
trailing="ArrowRight2"
onPress={() => {}}
/>

Props

PropTypeDefaultDescription
titlestringButton label text
type'default' | 'warning' | 'error''default'⚠️ Deprecated. Color variant that controls the foreground (text and icon) color
leadingIconNameIcon name displayed at the leading (left) end of the button
trailingIconNameIcon name displayed at the trailing (right) end of the button
valuestringValue string rendered between the title and the trailing icon. Useful for showing a current selection
flexnumberFlex grow value
widthDimensionValueFixed width of the button
heightDimensionValuetheme mediumFixed height of the button. Defaults to the theme's medium height
marginSpacingPropsOuter margin
isLoadingbooleanfalseShow a loading animation and disable the button
onPress() => voidPress handler. When omitted the button renders in a disabled (dimmed) state

Examples

Settings Menu

<MultinaireContainer gap={8}>
<MultinaireMenuButton
leading="User"
title="Profile"
trailing="ArrowRight2"
onPress={() => navigation.navigate('Profile')}
/>
<MultinaireMenuButton
leading="Notification"
title="Notifications"
trailing="ArrowRight2"
onPress={() => navigation.navigate('Notifications')}
/>
<MultinaireMenuButton
leading="Shield"
title="Privacy"
trailing="ArrowRight2"
onPress={() => navigation.navigate('Privacy')}
/>
</MultinaireContainer>

With Value

<MultinaireMenuButton
leading="Global"
title="Language"
value="English"
trailing="ArrowRight2"
onPress={() => openLanguagePicker()}
/>

Destructive Action

<MultinaireMenuButton
type="error"
leading="Logout"
title="Sign Out"
onPress={() => signOut()}
/>

Warning Action

<MultinaireMenuButton
type="warning"
leading="InfoCircle"
title="Clear Cache"
onPress={() => clearCache()}
/>