Introduction
Medusa Wallet provides a comprehensive library of React Native components designed specifically for Bitcoin Lightning wallet applications. All components follow a consistent design system with dark theme support and responsive layouts.Component Categories
The component library is organized into several categories:Wallet Components
Components for displaying wallet information, creating wallets, and managing wallet cards
Payment Components
Components for transactions, QR codes, amount displays, and payment flows
Design Principles
Consistent Styling
All components use the centralizedColors and Typography system:
Colors.dark- Main backgroundColors.grayDarkest- Card backgroundsColors.grayDarker- Input backgroundsColors.bitcoin- Primary action colorColors.white- Primary text color
Layout Components
Components utilize the layout system for consistent spacing:MVStack- Vertical stack with gap controlMHStack- Horizontal stack with gap control
Typography
TheMText component provides consistent text styling:
Common Props Pattern
Most components extend React Native’s base component props:Component Naming Convention
All Medusa Wallet components are prefixed withM:
MWalletCard- Wallet display cardMButton- Primary button componentMQRCode- QR code generatorMTransactionCard- Transaction list item
Responsive Design
Components are designed to work across different screen sizes and orientations. Most components use:- Relative sizing with
flexproperties - Fixed dimensions where necessary (e.g., QR codes)
- Responsive padding from
@/styles/layout
Accessibility
Components include accessibility features:- Touch target sizes of at least 32x32
- Semantic component structure
- Support for screen readers through React Native accessibility props