@neuroui/core
v0.5.0
Published
Sensory profile system and React hooks for cognitive accessibility. Auto-detects OS accessibility settings and provides fine-grained control over motion, contrast, spacing, typography, and focus behavior.
Maintainers
Readme
@neuroui/core
Sensory profile system and React hooks for cognitive accessibility.
Install
npm install @neuroui/coreQuick Start
import { NeuroProvider, useNeuro } from '@neuroui/core';
function App() {
return (
<NeuroProvider preset="calm">
<MyComponent />
</NeuroProvider>
);
}
function MyComponent() {
const { profile, setProfile } = useNeuro();
return (
<div>
<p>Motion: {profile.motion}</p>
<button onClick={() => setProfile({ motion: 'reduced' })}>
Reduce motion
</button>
</div>
);
}Hooks
| Hook | Description |
|------|-------------|
| useNeuro() | Access the full sensory profile and update functions |
| useMotionSafety() | Motion preferences — animation durations, transition styles |
| useCognitiveLoad() | Density and spacing adaptations for information overload |
| useReadability() | Font family, line height, and letter spacing for reading comfort |
| useFocusMode() | Focus ring styles and keyboard navigation enhancements |
| useFlashSafety() | Flash/strobe detection and safe animation guards |
| useColorVision() | Color palette adaptations for color vision deficiencies |
| useInputMethod() | Input method detection (pointer, keyboard, touch, switch, voice) |
SensoryProfile
interface SensoryProfile {
motion: 'none' | 'reduced' | 'full';
contrast: 'low' | 'normal' | 'high';
density: 'minimal' | 'normal' | 'detailed';
notifications: 'silent' | 'visual' | 'audio' | 'all';
font: 'default' | 'dyslexia-friendly' | 'monospace';
spacing: 'compact' | 'normal' | 'relaxed';
focus: 'standard' | 'enhanced';
timing: 'patient' | 'normal' | 'quick';
flashSafety: boolean;
colorVision: 'typical' | 'protanopia' | 'deuteranopia' | 'tritanopia' | 'achromatopsia';
inputMethod: 'pointer' | 'keyboard' | 'touch' | 'switch' | 'voice';
}Presets
Use built-in presets for common configurations:
<NeuroProvider preset="calm" /> // Reduced motion, minimal density
<NeuroProvider preset="focus" /> // Enhanced focus, reduced distractions
<NeuroProvider preset="safe" /> // Flash safety, reduced motionDocs
Full documentation at neuroui.dev
