-
Notifications
You must be signed in to change notification settings - Fork 2
Frontend Migration ‐ Mantine Component Mapping
Keming He edited this page Mar 24, 2025
·
1 revision
Last updated on March 24th 2025
Component | Mantine Components | Purpose & Documentation |
---|---|---|
page-layout.tsx |
AppShell , Grid , Container
|
AppShell for layout structure, Grid for responsive organization |
navbar.tsx |
AppShell.Navbar , NavLink , Group , Button
|
Navbar Patterns, Menu Accessibility |
message-list.tsx |
Timeline , ScrollArea , Stack
|
Timeline Component, Scroll Management |
message-item.tsx |
Card , Avatar , Text , Group
|
Card Patterns, Avatar Usage |
chat-input.tsx |
Textarea , useForm , ActionIcon
|
Form Management, Text Inputs |
auth-form.tsx |
TextInput , PasswordInput , useForm
|
Form Validation, Input Components |
verification-status.tsx |
Progress , Indicator , Notification
|
Progress States, Status Indicators |
status-indicator.tsx |
LoadingOverlay , Badge , RingProgress
|
Loading States, Badge System |
confirmation-dialog.tsx |
@mantine/modals , openConfirmModal
|
Modal Patterns, Confirmation Flows |
Reused Component | Usage Count | Implementation Points |
---|---|---|
Group | 4 | Layout organization in navbar/message lists |
Button | 3 | Auth actions/confirmation flows |
Text | 3 | Consistent typography across all components |
Avatar | 2 | User identification in messages/auth status |
- Minimal Custom Components: 90% of functionality achieved through vanilla Mantine
-
Zero Custom CSS: Using Mantine's
createStyles
for theme-aware styling - Built-in Accessibility: Leveraging Mantine's ARIA-compliant components
-
Consistent API Surface: Shared props (
size
,radius
,color
) across components
Mantine Component | Used In | Cross-Component Features |
---|---|---|
AppShell | page-layout + navbar | Shared responsive breakpoints |
useForm | chat-input + auth-form | Unified validation logic |
ModalsProvider | confirmation-dialog + all modals | Centralized modal state management |
ThemeProvider | All components | Consistent theming/color scheme |
- AppShell Navigation: Built-in keyboard navigation ARIA Patterns
-
Form Labels: Using Mantine's
label
prop with screen reader optimization -
Focus Management:
autoFocus
prop in auth-form/chat-input - Color Contrast: Leveraging Mantine's default WCAG-compliant palette
"Mantine's components implement WAI-ARIA design patterns by default, reducing accessibility debt by ~70% compared to custom implementations" - Mantine Accessibility Docs