mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
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>
53 lines
1.6 KiB
JSON
53 lines
1.6 KiB
JSON
{
|
|
"name": "workflowui",
|
|
"version": "1.0.0",
|
|
"description": "Visual workflow editor UI - Modern n8n-like interface for MetaBuilder workflows",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build || true",
|
|
"start": "next start",
|
|
"lint": "next lint",
|
|
"type-check": "tsc --noEmit",
|
|
"db:init": "node scripts/init-db.js",
|
|
"db:migrate": "node scripts/migrate-db.js",
|
|
"backend": "python backend/server.py",
|
|
"dev:all": "concurrently \"npm run dev\" \"npm run backend\"",
|
|
"test": "jest",
|
|
"test:watch": "jest --watch",
|
|
"storybook": "storybook dev -p 6006",
|
|
"storybook:build": "storybook build"
|
|
},
|
|
"dependencies": {
|
|
"@metabuilder/core-hooks": "file:../../redux/core-hooks",
|
|
"@metabuilder/api-clients": "file:../../redux/api-clients",
|
|
"@reduxjs/toolkit": "^2.5.2",
|
|
"axios": "^1.7.7",
|
|
"classnames": "^2.5.2",
|
|
"clsx": "^2.1.1",
|
|
"date-fns": "^3.6.0",
|
|
"dexie": "^4.0.8",
|
|
"lodash-es": "^4.17.21",
|
|
"next": "^15.1.3",
|
|
"react": "^19.2.3",
|
|
"react-dom": "^19.2.3",
|
|
"react-redux": "^9.2.0",
|
|
"redux": "^5.0.1",
|
|
"socket.io-client": "^4.8.2",
|
|
"uuid": "^13.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@storybook/addon-essentials": "^8.6.0",
|
|
"@storybook/react": "^8.6.0",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.3.1",
|
|
"@types/lodash-es": "^4.17.12",
|
|
"@types/node": "^22.10.5",
|
|
"@types/react": "^19.2.8",
|
|
"@types/react-dom": "^19.2.3",
|
|
"concurrently": "^9.1.0",
|
|
"jest": "^29.7.0",
|
|
"typescript": "~5.9.3"
|
|
}
|
|
}
|