Skip to main content

MultinaireIcon

SVG icon component with theme-aware colors and optional press handling.

Basic Usage

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

<MultinaireIcon icon="Home" />

<MultinaireIcon icon="Settings" size={32} color="primary" />

Props

PropTypeDefaultDescription
iconIconNameIcon name from the Iconsax library or the built-in custom icon set
sizenumber20Size of the icon in pixels. Defaults to 20
colorColorKeysIcon color key from the active theme palette
typeIconType'Linear'Iconsax icon style variant. Defaults to 'Linear'
marginSpacingProps2Margin around the icon. Defaults to 2
isLoadingbooleanfalseShow a circular loading skeleton in place of the icon
onPress() => voidPress handler for interactive icons

Available Icons

Custom Icons (MultinaireIcons)

Built-in branded icons for common social and brand use cases:

NameDescription
CustomAppleApple logo
CustomFacebookFacebook logo
CustomGithubGitHub logo
CustomGoogleGoogle logo
CustomInstagramInstagram logo
CustomLinkedInLinkedIn logo
CustomPlanPlan/pricing icon
CustomXX (formerly Twitter) logo

Iconsax Icons

993 icons available via the Iconsax library. Common icons include:

  • Navigation: Home, Back, Forward, Menu, Close
  • Actions: Add, Edit, Delete, Save, Share
  • Media: Camera, Image, Video, Play, Pause
  • Communication: Message, Email, Phone, Notification
  • UI: Check, Search, Filter, Settings, More

Examples

Different Sizes

<MultinaireIcon icon="Star" size={16} />
<MultinaireIcon icon="Star" size={24} />
<MultinaireIcon icon="Star" size={32} />

Colors

<MultinaireIcon icon="Heart" color="primary" />
<MultinaireIcon icon="Heart" color="error" />
<MultinaireIcon icon="Heart" color="neutral" />

Pressable Icon

<MultinaireIcon
icon="Settings"
size={28}
onPress={() => navigation.navigate('Settings')}
/>

Custom (Brand) Icons

<MultinaireIcon icon="CustomApple" size={24} />
<MultinaireIcon icon="CustomGoogle" size={24} />
<MultinaireIcon icon="CustomGithub" size={24} />

Loading State

<MultinaireIcon icon="User" isLoading />