git
5aabff44cd
refactor(fakemui): flatten QML components directory structure and update documentation
...
Directory Restructuring:
- qml/qml-components/qml-components/* → qml/components/ (flattens nesting)
- All 104 QML files moved with git history preserved
- Eliminates redundant qml-components nesting
Documentation Updates:
- ARCHITECTURE.md: Updated qml/components references (2 locations)
- GETTING_STARTED.md: Updated qml/components path (1 location, end of file)
- README.md: Updated qml/components references (3 locations)
- CODE_REVIEW.md: Updated qml/components file paths (4 locations)
- docs/ARCHITECTURE.md: Complete refactor with qml/components paths
Verification:
- ✅ No remaining qml-components/ references in documentation
- ✅ All 104 QML files present in flattened structure
- ✅ Directory structure verified (12 component categories)
- ✅ First-class directory naming convention
Structure Post-Refactor:
qml/
├── components/
│ ├── atoms/ (16 files)
│ ├── core/ (11 files)
│ ├── data-display/ (10 files)
│ ├── feedback/ (11 files)
│ ├── form/ (19 files)
│ ├── lab/ (11 files)
│ ├── layout/ (12 files)
│ ├── navigation/ (12 files)
│ ├── surfaces/ (7 files)
│ ├── theming/ (4 files)
│ └── utils/ (13 files)
├── hybrid/
└── widgets/
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-01-23 19:54:21 +00:00
git
5c801b7298
refactor(fakemui): promote directories to first-class naming
...
Directory Renamings (git moves preserve history):
- qml/components-legacy/ → qml/hybrid/ (QML/JS hybrid components)
- legacy/utilities/ → utilities/ (core utilities)
- legacy/migration-in-progress/ → wip/ (work-in-progress)
- qml/qml-components/qml-components/ → qml/components/ (flatten nesting)
Removals:
- legacy/ directory (now empty)
- python/fakemui/ (empty directory)
- python/ (now empty)
Documentation Updates:
- STRUCTURE.md: All path references updated to reflect new structure
- docs/ACCESSIBILITY_STATUS.md: legacy/migration-in-progress/ → wip/
- qmldir: Updated all 135 component registrations (qml-components/ → components/)
Result:
- No "legacy" terminology in directory names
- No redundant nesting (qml/qml-components/qml-components/)
- All directories have first-class, descriptive names
- 135 QML component registrations updated in qmldir
- Full git history preserved through rename tracking
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-01-23 18:35:10 +00:00
git
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