11import { useEffect , useState } from 'react'
2- import { AccessibilityInfo , AccessibilityEvent } from 'react-native'
3-
4- type AccessibilityEventName =
5- | 'boldTextChanged' // iOS-only Event
6- | 'grayscaleChanged' // iOS-only Event
7- | 'invertColorsChanged' // iOS-only Event
8- | 'reduceMotionChanged'
9- | 'screenReaderChanged'
10- | 'reduceTransparencyChanged' // iOS-only Event
2+ import { AccessibilityInfo , AccessibilityChangeEventName } from 'react-native'
113
124type AccessibilityInfoStaticInitializers =
135 | 'isBoldTextEnabled'
@@ -18,7 +10,7 @@ type AccessibilityInfoStaticInitializers =
1810 | 'isReduceTransparencyEnabled'
1911
2012type AccessibilityEventToInfoStaticKeyMap = {
21- [ K in AccessibilityEventName ] ?: AccessibilityInfoStaticInitializers
13+ [ K in AccessibilityChangeEventName ] ?: AccessibilityInfoStaticInitializers
2214}
2315
2416const EVENT_NAME_TO_INITIALIZER : AccessibilityEventToInfoStaticKeyMap = {
@@ -30,10 +22,8 @@ const EVENT_NAME_TO_INITIALIZER: AccessibilityEventToInfoStaticKeyMap = {
3022 reduceTransparencyChanged : 'isReduceTransparencyEnabled' ,
3123}
3224
33- type AccessibilityInfoChangeEventHandler = ( event : AccessibilityEvent ) => void
34-
3525function useAccessibilityStateListener (
36- eventName : AccessibilityEventName ,
26+ eventName : AccessibilityChangeEventName ,
3727) : boolean {
3828 const [ isEnabled , setIsEnabled ] = useState ( false )
3929
@@ -47,13 +37,13 @@ function useAccessibilityStateListener(
4737 AccessibilityInfo [ initializerKey ] ( ) . then ( setIsEnabled )
4838 AccessibilityInfo . addEventListener (
4939 eventName ,
50- < AccessibilityInfoChangeEventHandler > setIsEnabled ,
40+ setIsEnabled ,
5141 )
5242
5343 return ( ) =>
5444 AccessibilityInfo . removeEventListener (
5545 eventName ,
56- < AccessibilityInfoChangeEventHandler > setIsEnabled ,
46+ setIsEnabled ,
5747 )
5848 } , [ eventName ] )
5949
0 commit comments