IconSymbol
A cross-platform icon component that uses native SF Symbols on iOS and Material Icons on Android and web. This ensures optimal resource usage and a consistent look across platforms.Props
Icon name based on SF Symbols. Available icons:
house.fill- Home iconpaperplane.fill- Send iconchevron.left.forwardslash.chevron.right- Code iconchevron.right- Chevron right icon
Size of the icon in pixels.
Color of the icon.
Additional styles to apply to the icon.
Symbol weight (iOS only). Options:
'ultraLight' | 'thin' | 'light' | 'regular' | 'medium' | 'semibold' | 'bold' | 'heavy' | 'black'TypeScript Interface
Usage Examples
Adding New Icons
To add new icons, update theMAPPING object in components/ui/icon-symbol.tsx:
Collapsible
An expandable/collapsible section component with an animated chevron indicator.Props
The title text displayed in the collapsible header.
The content to show when expanded.
Usage Examples
Features
- Animated chevron that rotates 90 degrees when expanded
- Theme-aware icon colors
- Semi-bold title text
- Content indentation for visual hierarchy
- Touch feedback with 0.8 opacity
Toast Components
The toast system consists of two components that work together to display temporary notifications.ToastContainer
Internal component that renders the list of active toasts. This component is automatically included when you use theToastProvider and should not be used directly.
Props
Array of toast objects to display.
Callback function to remove a toast by ID.
Toast Types
Toast Styling
Each toast type has a distinct background color:- Success: Green (#16a34a)
- Error: Red (#dc2626)
- Warning: Yellow/Gold (#ca8a04)
- Info: Blue (#2563eb)
Toast Behavior
- Toasts animate in from the top with a slide and fade effect
- Automatically dismiss after 3.5 seconds
- Can be manually dismissed by tapping the toast
- Multiple toasts stack vertically
- Positioned at the top of the screen (60px from top)
- High z-index (9999) to appear above other content
Usage
To display toasts, use theuseToast hook from the ToastContext. See Context for details.