|
|
d23f4a8be4
|
feat: FakeMUI MUI-compatibility + shared components library + hooks consolidation
FakeMUI Components (MUI API compatibility):
- Add sx prop support to all components via sxToStyle utility
- Add MUI-style variants to Button (contained, outlined)
- Add component prop to Typography for polymorphic rendering
- Add label prop to Chip (MUI uses label vs children)
- Add edge/color/size props to IconButton
- Add component prop to List for nav rendering
- Add href support to ListItemButton
- Add variant prop to Avatar
- Add PaperProps to Drawer
New @metabuilder/components package:
- vanilla/loading - LoadingIndicator, InlineLoader, AsyncLoading
- vanilla/error - ErrorBoundary, ErrorDisplay, withErrorBoundary
- vanilla/empty-state - EmptyState + 7 specialized variants
- vanilla/skeleton - Skeleton + 6 specialized variants
- Organized by framework: vanilla/, radix/, fakemui/
Hooks consolidation (FakeMUI → root hooks/):
- useAccessible (5 accessibility hooks)
- useToast with ToastProvider
- FakeMUI re-exports from hooks for backward compatibility
WorkflowUI fixes:
- Fix showNotification → useUI error/success methods
- Fix Redux reducer setTimeout (Immer proxy issue)
- Fix useRef type error
- Update to Next.js 16.1.6 with webpack mode
- Add @metabuilder/fakemui dependency
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-01 22:05:47 +00:00 |
|
|
|
c9fb2ce8e8
|
refactor(fakemui): Migrate email components from email-wip to email directory
- Move 22 email components from email-wip/ to email/ (production ready)
- Components organized by category: atoms (3), inputs (3), surfaces (4), data-display (4), feedback (2), layout (3), navigation (2)
- Total 29 files migrated including category index files
- Update index files for data-display, inputs, surfaces categories
- Restore I18nNavigation.ts and hooks.ts (actively used by postgres module)
- email-wip directory removed as part of migration
Files migrated:
- Atoms: AttachmentIcon, MarkAsReadCheckbox, StarButton
- Inputs: BodyEditor, EmailAddressInput, RecipientInput
- Surfaces: ComposeWindow, EmailCard, MessageThread, SignatureCard
- Data-Display: AttachmentList, EmailHeader, FolderTree, ThreadList
- Feedback: SyncProgress, SyncStatusBadge
- Layout: ComposerLayout, MailboxLayout, SettingsLayout
- Navigation: AccountTabs, FolderNavigation
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-01-23 20:33:36 +00:00 |
|
|
|
bb17f395fe
|
feat: complete fakemui accessibility integration with data-testid and ARIA
Complete implementation of accessibility utilities across fakemui components:
**New Files**:
- src/utils/accessibility.ts - Core accessibility utilities (moved from legacy)
- src/utils/accessibility.module.scss - Accessibility SCSS styles
- src/utils/useAccessible.ts - React hooks for accessibility:
* useAccessible() - Generate test IDs and ARIA attributes
* useKeyboardNavigation() - Handle keyboard events
* useFocusManagement() - Programmatic focus control
* useLiveRegion() - Screen reader announcements
* useFocusTrap() - Focus trapping for modals
**Component Updates**:
- Button.tsx - Added data-testid and ARIA support via useAccessible hook
- TextField.tsx - Added data-testid, aria-invalid, aria-describedby support
**Documentation**:
- docs/ACCESSIBILITY_INTEGRATION.md - Complete integration guide with examples
**Features**:
- 50+ preset test ID generators (form, canvas, settings, navigation, etc.)
- ARIA attribute patterns for buttons, toggles, dialogs, tabs, live regions
- Keyboard navigation helpers (Enter, Escape, Arrow keys, Tab)
- Accessibility validators (hasLabel, isKeyboardAccessible, etc.)
- Fully typed TypeScript with AccessibilityFeature, Component, Action types
All components now support reliable testing via data-testid and screen reader access via ARIA attributes.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-01-23 17:25:48 +00:00 |
|
|
|
54a819ed71
|
chore(fakemui): reorganize folder structure by implementation type
ORGANIZED INTO 4 MAIN CATEGORIES:
- react/ React TypeScript components (145 components + Python bindings)
- qml/ QML desktop components (104+ QML components)
- python/ Python package implementations
- legacy/ Utilities, contexts, and migration-in-progress code
SUPPORTING FOLDERS (kept as-is):
- icons/ 421 SVG icons
- theming/ Material Design 3 theme system
- styles/ SCSS modules and utilities
- scss/ SCSS preprocessor files
- docs/ Documentation files
STRUCTURE IMPROVEMENTS:
✅ All code preserved (nothing deleted)
✅ Clear separation by implementation type
✅ Better navigation and discoverability
✅ Easy to find what you need
✅ Professional organization
DOCUMENTATION:
- Added STRUCTURE.md explaining the new layout
- Updated folder organization with clear purpose
- Maintained all original functionality
All files reorganized while keeping full functionality intact.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-01-23 17:09:48 +00:00 |
|