react-native-external-keyboard 0.9.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +95 -600
- package/android/build.gradle +0 -18
- package/android/src/main/java/com/externalkeyboard/ExternalKeyboardViewPackage.java +24 -22
- package/android/src/main/java/com/externalkeyboard/events/EventHelper.java +10 -13
- package/android/src/main/java/com/externalkeyboard/helper/FocusHelper.java +1 -2
- package/android/src/main/java/com/externalkeyboard/services/FocusMemoryService.java +64 -0
- package/android/src/main/java/com/externalkeyboard/services/KeyboardFocusService.java +41 -0
- package/android/src/main/java/com/externalkeyboard/services/KeyboardService.java +4 -13
- package/android/src/main/java/com/externalkeyboard/views/ExternalKeyboardView/ExternalKeyboardView.java +2 -8
- package/android/src/main/java/com/externalkeyboard/views/ExternalKeyboardView/ExternalKeyboardViewManager.java +20 -13
- package/android/src/main/java/com/externalkeyboard/views/TextInputFocusWrapper/TextInputFocusWrapper.java +99 -21
- package/android/src/main/java/com/externalkeyboard/views/TextInputFocusWrapper/TextInputFocusWrapperManager.java +11 -0
- package/android/src/main/java/com/externalkeyboard/views/base/FocusHighlightBase.java +11 -5
- package/android/src/main/java/com/externalkeyboard/views/base/FocusableBase.java +36 -0
- package/android/src/main/java/com/externalkeyboard/views/base/keyboard/ViewFocusChangeBase.java +2 -3
- package/android/src/main/java/com/externalkeyboard/views/base/keyboard/ViewFocusRequestBase.java +10 -61
- package/android/src/newarch/ExternalKeyboardLockViewManagerInterface.java +11 -0
- package/android/src/newarch/ExternalKeyboardLockViewManagerSpec.java +0 -1
- package/android/src/newarch/ExternalKeyboardViewManagerInterface.java +42 -0
- package/android/src/newarch/ExternalKeyboardViewManagerSpec.java +0 -1
- package/android/src/newarch/KeyboardFocusGroupManagerInterface.java +12 -0
- package/android/src/newarch/KeyboardFocusGroupManagerSpec.java +0 -1
- package/android/src/newarch/TextInputFocusWrapperManagerInterface.java +34 -0
- package/android/src/newarch/TextInputFocusWrapperManagerSpec.java +0 -10
- package/android/src/newarch/helper/ReactNativeEventDispatcher.java +28 -0
- package/android/src/oldarch/ExternalKeyboardViewManagerSpec.java +6 -4
- package/android/src/oldarch/TextInputFocusWrapperManagerSpec.java +4 -0
- package/android/src/oldarch/helper/ReactNativeEventDispatcher.java +15 -0
- package/ios/Delegates/RNCEKVFocusDelegate/RNCEKVFocusDelegate.mm +1 -1
- package/ios/Delegates/RNCEKVFocusDelegate/RNCEKVFocusProtocol.h +1 -1
- package/ios/Delegates/RNCEKVHaloDelegate/RNCEKVHaloDelegate.h +2 -1
- package/ios/Delegates/RNCEKVHaloDelegate/RNCEKVHaloDelegate.mm +41 -5
- package/ios/Delegates/RNCEKVHaloDelegate/RNCEKVHaloProtocol.h +1 -0
- package/ios/Extensions/RCTCustomScrollView+RNCEKVExternalKeyboard.mm +5 -6
- package/ios/Extensions/RCTEnhancedScrollView+RNCEKVExternalKeyboard.mm +8 -9
- package/ios/Extensions/RCTTextInputComponentView+RNCEKVExternalKeyboard.mm +1 -1
- package/ios/Extensions/RCTViewComponentView+RNCEKVExternalKeyboard.h +0 -1
- package/ios/Extensions/RCTViewComponentView+RNCEKVExternalKeyboard.mm +16 -4
- package/ios/Extensions/UIViewController+RNCEKVExternalKeyboard.mm +7 -10
- package/ios/Helpers/RNCEKVNativeProps/RNCEKVNativeProps.h +4 -4
- package/ios/Helpers/RNCEKVSwizzleInstanceMethod/RNCEKVSwizzleInstanceMethod.h +19 -0
- package/ios/Protocols/RNCEKVCustomFocusEffectProtocol.h +1 -1
- package/ios/Services/RNCEKVFocusMemoryService.h +39 -0
- package/ios/Services/RNCEKVFocusMemoryService.mm +42 -0
- package/ios/Services/RNCEKVKeyboardFocusService.h +28 -0
- package/ios/Services/RNCEKVKeyboardFocusService.mm +54 -0
- package/ios/Views/Base/FocusChange/RNCEKVViewFocusChangeBase.h +2 -0
- package/ios/Views/Base/FocusChange/RNCEKVViewFocusChangeBase.mm +12 -10
- package/ios/Views/Base/FocusRequest/RNCEKVViewFocusRequestBase.h +1 -1
- package/ios/Views/Base/FocusRequest/RNCEKVViewFocusRequestBase.mm +6 -17
- package/ios/Views/Base/KeyboardHallo/RNCEKVExternalKeyboardHalloBase.h +1 -0
- package/ios/Views/Base/KeyboardHallo/RNCEKVExternalKeyboardHalloBase.mm +146 -6
- package/ios/Views/Base/ViewGroup/RNCEKVViewGroupBase.h +2 -0
- package/ios/Views/Base/ViewGroup/RNCEKVViewGroupBase.mm +4 -0
- package/ios/Views/RNCEKVExternalKeyboardView/RNCEKVExternalKeyboardView.h +1 -1
- package/ios/Views/RNCEKVExternalKeyboardView/RNCEKVExternalKeyboardView.mm +8 -4
- package/ios/Views/RNCEKVExternalKeyboardView/RNCEKVExternalKeyboardViewManager.mm +22 -11
- package/ios/Views/RNCEKVTextInputFocusWrapper/RNCEKVTextInputFocusWrapper.mm +17 -0
- package/ios/Views/RNCEKVTextInputFocusWrapper/RNCEKVTextInputFocusWrapperManager.mm +12 -0
- package/lib/commonjs/components/BaseKeyboardView/BaseKeyboardView.js +67 -65
- package/lib/commonjs/components/BaseKeyboardView/BaseKeyboardView.js.map +1 -1
- package/lib/commonjs/components/KeyboardExtendedInput/KeyboardExtendedInput.js +49 -97
- package/lib/commonjs/components/KeyboardExtendedInput/KeyboardExtendedInput.js.map +1 -1
- package/lib/commonjs/components/KeyboardFocusGroup/KeyboardFocusGroup.android.js.map +1 -1
- package/lib/commonjs/components/KeyboardFocusGroup/KeyboardFocusGroup.ios.js.map +1 -1
- package/lib/commonjs/components/KeyboardFocusGroup/KeyboardFocusGroup.js.map +1 -1
- package/lib/commonjs/components/{KeyboardExtendedInput/KeyboardExtendedInput.types.js → KeyboardFocusGroup/KeyboardFocusGroup.types.js} +1 -1
- package/lib/commonjs/components/KeyboardFocusGroup/KeyboardFocusGroup.types.js.map +1 -0
- package/lib/commonjs/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.js +2 -1
- package/lib/commonjs/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.js.map +1 -1
- package/lib/commonjs/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.js +2 -1
- package/lib/commonjs/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.js.map +1 -1
- package/lib/commonjs/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.js +2 -1
- package/lib/commonjs/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.js.map +1 -1
- package/lib/commonjs/components/KeyboardFocusView/KeyboardFocusView.js +14 -51
- package/lib/commonjs/components/KeyboardFocusView/KeyboardFocusView.js.map +1 -1
- package/lib/commonjs/components/index.js +47 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/index.js +37 -19
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/nativeSpec/ExternalKeyboardLockViewNativeComponent.ts +1 -3
- package/lib/commonjs/nativeSpec/ExternalKeyboardViewNativeComponent.ts +12 -9
- package/lib/commonjs/nativeSpec/KeyboardFocusGroupNativeComponent.ts +5 -3
- package/lib/commonjs/nativeSpec/TextInputFocusWrapperNativeComponent.ts +7 -3
- package/lib/commonjs/types/KeyboardFocusLock.types.js +13 -0
- package/lib/commonjs/types/KeyboardFocusLock.types.js.map +1 -1
- package/lib/commonjs/types/baseKeyboardView.types.js +6 -0
- package/lib/commonjs/types/baseKeyboardView.types.js.map +1 -0
- package/lib/commonjs/types/{FocusStyle.js → focus.types.js} +1 -1
- package/lib/commonjs/types/{FocusStyle.js.map → focus.types.js.map} +1 -1
- package/lib/commonjs/types/focusOrder.types.js +33 -0
- package/lib/commonjs/types/focusOrder.types.js.map +1 -0
- package/lib/commonjs/types/{WithKeyboardFocus.js → focusStyle.types.js} +1 -1
- package/lib/commonjs/types/{WithKeyboardFocus.js.map → focusStyle.types.js.map} +1 -1
- package/lib/commonjs/types/index.js +18 -0
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/commonjs/types/keyPress.types.js +6 -0
- package/lib/{module/types/WithKeyboardFocus.js.map → commonjs/types/keyPress.types.js.map} +1 -1
- package/lib/commonjs/types/keyboardInput.types.js +6 -0
- package/lib/commonjs/types/keyboardInput.types.js.map +1 -0
- package/lib/commonjs/types/withKeyboardFocus.types.js +6 -0
- package/lib/commonjs/types/withKeyboardFocus.types.js.map +1 -0
- package/lib/commonjs/utils/mapLockFocus.js +37 -0
- package/lib/commonjs/utils/mapLockFocus.js.map +1 -0
- package/lib/commonjs/utils/useFocusStyle.js +4 -21
- package/lib/commonjs/utils/useFocusStyle.js.map +1 -1
- package/lib/commonjs/utils/useKeyboardFocusContainer.js +79 -0
- package/lib/commonjs/utils/useKeyboardFocusContainer.js.map +1 -0
- package/lib/commonjs/utils/useKeyboardPress/useKeyboardPress.android.js +4 -7
- package/lib/commonjs/utils/useKeyboardPress/useKeyboardPress.android.js.map +1 -1
- package/lib/commonjs/utils/useKeyboardPress/useKeyboardPress.ios.js +3 -6
- package/lib/commonjs/utils/useKeyboardPress/useKeyboardPress.ios.js.map +1 -1
- package/lib/commonjs/utils/useKeyboardPress/useKeyboardPress.js +9 -7
- package/lib/commonjs/utils/useKeyboardPress/useKeyboardPress.js.map +1 -1
- package/lib/commonjs/utils/useKeyboardPressState.js +65 -0
- package/lib/commonjs/utils/useKeyboardPressState.js.map +1 -0
- package/lib/commonjs/utils/useOnFocusChange.js +1 -1
- package/lib/commonjs/utils/useOnFocusChange.js.map +1 -1
- package/lib/commonjs/utils/useOrderValidation.js +35 -0
- package/lib/commonjs/utils/useOrderValidation.js.map +1 -0
- package/lib/commonjs/utils/useRenderedChildren.js +34 -0
- package/lib/commonjs/utils/useRenderedChildren.js.map +1 -0
- package/lib/commonjs/utils/useWrappedOrderProps.js +35 -0
- package/lib/commonjs/utils/useWrappedOrderProps.js.map +1 -0
- package/lib/commonjs/utils/withKeyboardFocus.js +81 -96
- package/lib/commonjs/utils/withKeyboardFocus.js.map +1 -1
- package/lib/module/components/BaseKeyboardView/BaseKeyboardView.js +57 -55
- package/lib/module/components/BaseKeyboardView/BaseKeyboardView.js.map +1 -1
- package/lib/module/components/KeyboardExtendedInput/KeyboardExtendedInput.js +51 -99
- package/lib/module/components/KeyboardExtendedInput/KeyboardExtendedInput.js.map +1 -1
- package/lib/module/components/KeyboardFocusGroup/KeyboardFocusGroup.android.js.map +1 -1
- package/lib/module/components/KeyboardFocusGroup/KeyboardFocusGroup.ios.js.map +1 -1
- package/lib/module/components/KeyboardFocusGroup/KeyboardFocusGroup.js.map +1 -1
- package/lib/module/components/KeyboardFocusGroup/KeyboardFocusGroup.types.js +4 -0
- package/lib/module/components/KeyboardFocusGroup/KeyboardFocusGroup.types.js.map +1 -0
- package/lib/module/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.js +2 -1
- package/lib/module/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.js.map +1 -1
- package/lib/module/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.js +2 -1
- package/lib/module/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.js.map +1 -1
- package/lib/module/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.js +2 -1
- package/lib/module/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.js.map +1 -1
- package/lib/module/components/KeyboardFocusView/KeyboardFocusView.js +16 -53
- package/lib/module/components/KeyboardFocusView/KeyboardFocusView.js.map +1 -1
- package/lib/module/components/index.js +5 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/index.js +20 -7
- package/lib/module/index.js.map +1 -1
- package/lib/module/nativeSpec/ExternalKeyboardLockViewNativeComponent.ts +1 -3
- package/lib/module/nativeSpec/ExternalKeyboardViewNativeComponent.ts +12 -9
- package/lib/module/nativeSpec/KeyboardFocusGroupNativeComponent.ts +5 -3
- package/lib/module/nativeSpec/TextInputFocusWrapperNativeComponent.ts +7 -3
- package/lib/module/types/KeyboardFocusLock.types.js +12 -1
- package/lib/module/types/KeyboardFocusLock.types.js.map +1 -1
- package/lib/module/types/baseKeyboardView.types.js +4 -0
- package/lib/module/types/baseKeyboardView.types.js.map +1 -0
- package/lib/module/types/focus.types.js +4 -0
- package/lib/module/types/{FocusStyle.js.map → focus.types.js.map} +1 -1
- package/lib/module/types/focusOrder.types.js +31 -0
- package/lib/module/types/focusOrder.types.js.map +1 -0
- package/lib/module/types/focusStyle.types.js +4 -0
- package/lib/module/types/focusStyle.types.js.map +1 -0
- package/lib/module/types/index.js +3 -0
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/types/keyPress.types.js +4 -0
- package/lib/module/types/keyPress.types.js.map +1 -0
- package/lib/module/types/keyboardInput.types.js +4 -0
- package/lib/module/types/keyboardInput.types.js.map +1 -0
- package/lib/module/types/withKeyboardFocus.types.js +4 -0
- package/lib/module/types/withKeyboardFocus.types.js.map +1 -0
- package/lib/module/utils/mapLockFocus.js +32 -0
- package/lib/module/utils/mapLockFocus.js.map +1 -0
- package/lib/module/utils/useFocusStyle.js +4 -21
- package/lib/module/utils/useFocusStyle.js.map +1 -1
- package/lib/module/utils/useKeyboardFocusContainer.js +74 -0
- package/lib/module/utils/useKeyboardFocusContainer.js.map +1 -0
- package/lib/module/utils/useKeyboardPress/useKeyboardPress.android.js +4 -7
- package/lib/module/utils/useKeyboardPress/useKeyboardPress.android.js.map +1 -1
- package/lib/module/utils/useKeyboardPress/useKeyboardPress.ios.js +3 -6
- package/lib/module/utils/useKeyboardPress/useKeyboardPress.ios.js.map +1 -1
- package/lib/module/utils/useKeyboardPress/useKeyboardPress.js +9 -7
- package/lib/module/utils/useKeyboardPress/useKeyboardPress.js.map +1 -1
- package/lib/module/utils/useKeyboardPressState.js +60 -0
- package/lib/module/utils/useKeyboardPressState.js.map +1 -0
- package/lib/module/utils/useOnFocusChange.js +1 -1
- package/lib/module/utils/useOnFocusChange.js.map +1 -1
- package/lib/module/utils/useOrderValidation.js +30 -0
- package/lib/module/utils/useOrderValidation.js.map +1 -0
- package/lib/module/utils/useRenderedChildren.js +29 -0
- package/lib/module/utils/useRenderedChildren.js.map +1 -0
- package/lib/module/utils/useWrappedOrderProps.js +30 -0
- package/lib/module/utils/useWrappedOrderProps.js.map +1 -0
- package/lib/module/utils/withKeyboardFocus.js +84 -99
- package/lib/module/utils/withKeyboardFocus.js.map +1 -1
- package/lib/typescript/src/components/BaseKeyboardView/BaseKeyboardView.d.ts +30 -10
- package/lib/typescript/src/components/BaseKeyboardView/BaseKeyboardView.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardExtendedInput/KeyboardExtendedInput.d.ts +187 -12
- package/lib/typescript/src/components/KeyboardExtendedInput/KeyboardExtendedInput.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusGroup/KeyboardFocusGroup.android.d.ts +4 -146
- package/lib/typescript/src/components/KeyboardFocusGroup/KeyboardFocusGroup.android.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusGroup/KeyboardFocusGroup.d.ts +2 -12
- package/lib/typescript/src/components/KeyboardFocusGroup/KeyboardFocusGroup.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusGroup/KeyboardFocusGroup.ios.d.ts +4 -146
- package/lib/typescript/src/components/KeyboardFocusGroup/KeyboardFocusGroup.ios.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusGroup/KeyboardFocusGroup.types.d.ts +13 -0
- package/lib/typescript/src/components/KeyboardFocusGroup/KeyboardFocusGroup.types.d.ts.map +1 -0
- package/lib/typescript/src/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.d.ts +1 -1
- package/lib/typescript/src/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.d.ts +1 -1
- package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.d.ts +1 -1
- package/lib/typescript/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.d.ts +1 -1
- package/lib/typescript/src/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusView/KeyboardFocusView.d.ts +28 -18
- package/lib/typescript/src/components/KeyboardFocusView/KeyboardFocusView.d.ts.map +1 -1
- package/lib/typescript/src/components/Touchable/Pressable.d.ts +14 -14
- package/lib/typescript/src/components/Touchable/Pressable.d.ts.map +1 -1
- package/lib/typescript/src/components/index.d.ts +5 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +694 -9
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/nativeSpec/ExternalKeyboardLockViewNativeComponent.d.ts +2 -4
- package/lib/typescript/src/nativeSpec/ExternalKeyboardLockViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/nativeSpec/ExternalKeyboardViewNativeComponent.d.ts +6 -7
- package/lib/typescript/src/nativeSpec/ExternalKeyboardViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/nativeSpec/KeyboardFocusGroupNativeComponent.d.ts +2 -4
- package/lib/typescript/src/nativeSpec/KeyboardFocusGroupNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/nativeSpec/TextInputFocusWrapperNativeComponent.d.ts +4 -4
- package/lib/typescript/src/nativeSpec/TextInputFocusWrapperNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/types/KeyboardFocusLock.types.d.ts +15 -1
- package/lib/typescript/src/types/KeyboardFocusLock.types.d.ts.map +1 -1
- package/lib/typescript/src/types/KeyboardFocusView.types.d.ts +16 -14
- package/lib/typescript/src/types/KeyboardFocusView.types.d.ts.map +1 -1
- package/lib/typescript/src/types/baseKeyboardView.types.d.ts +119 -0
- package/lib/typescript/src/types/baseKeyboardView.types.d.ts.map +1 -0
- package/lib/typescript/src/types/focus.types.d.ts +35 -0
- package/lib/typescript/src/types/focus.types.d.ts.map +1 -0
- package/lib/typescript/src/types/focusOrder.types.d.ts +57 -0
- package/lib/typescript/src/types/focusOrder.types.d.ts.map +1 -0
- package/lib/typescript/src/types/focusStyle.types.d.ts +11 -0
- package/lib/typescript/src/types/focusStyle.types.d.ts.map +1 -0
- package/lib/typescript/src/types/index.d.ts +11 -2
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/types/keyPress.types.d.ts +7 -0
- package/lib/typescript/src/types/keyPress.types.d.ts.map +1 -0
- package/lib/typescript/src/types/keyboardInput.types.d.ts +53 -0
- package/lib/typescript/src/types/keyboardInput.types.d.ts.map +1 -0
- package/lib/typescript/src/types/withKeyboardFocus.types.d.ts +109 -0
- package/lib/typescript/src/types/withKeyboardFocus.types.d.ts.map +1 -0
- package/lib/typescript/src/utils/mapLockFocus.d.ts +3 -0
- package/lib/typescript/src/utils/mapLockFocus.d.ts.map +1 -0
- package/lib/typescript/src/utils/useFocusStyle.d.ts +26 -34
- package/lib/typescript/src/utils/useFocusStyle.d.ts.map +1 -1
- package/lib/typescript/src/utils/useKeyboardFocusContainer.d.ts +898 -0
- package/lib/typescript/src/utils/useKeyboardFocusContainer.d.ts.map +1 -0
- package/lib/typescript/src/utils/useKeyboardPress/useKeyboardPress.android.d.ts +2 -2
- package/lib/typescript/src/utils/useKeyboardPress/useKeyboardPress.android.d.ts.map +1 -1
- package/lib/typescript/src/utils/useKeyboardPress/useKeyboardPress.d.ts +4 -3
- package/lib/typescript/src/utils/useKeyboardPress/useKeyboardPress.d.ts.map +1 -1
- package/lib/typescript/src/utils/useKeyboardPress/useKeyboardPress.ios.d.ts +3 -3
- package/lib/typescript/src/utils/useKeyboardPress/useKeyboardPress.ios.d.ts.map +1 -1
- package/lib/typescript/src/utils/useKeyboardPress/useKeyboardPress.types.d.ts +1 -2
- package/lib/typescript/src/utils/useKeyboardPress/useKeyboardPress.types.d.ts.map +1 -1
- package/lib/typescript/src/utils/useKeyboardPressState.d.ts +29 -0
- package/lib/typescript/src/utils/useKeyboardPressState.d.ts.map +1 -0
- package/lib/typescript/src/utils/useOnFocusChange.d.ts +3 -3
- package/lib/typescript/src/utils/useOnFocusChange.d.ts.map +1 -1
- package/lib/typescript/src/utils/useOrderValidation.d.ts +8 -0
- package/lib/typescript/src/utils/useOrderValidation.d.ts.map +1 -0
- package/lib/typescript/src/utils/useRenderedChildren.d.ts +18 -0
- package/lib/typescript/src/utils/useRenderedChildren.d.ts.map +1 -0
- package/lib/typescript/src/utils/useWrappedOrderProps.d.ts +13 -0
- package/lib/typescript/src/utils/useWrappedOrderProps.d.ts.map +1 -0
- package/lib/typescript/src/utils/withKeyboardFocus.d.ts +3 -4
- package/lib/typescript/src/utils/withKeyboardFocus.d.ts.map +1 -1
- package/package.json +4 -2
- package/src/components/BaseKeyboardView/BaseKeyboardView.tsx +74 -94
- package/src/components/KeyboardExtendedInput/KeyboardExtendedInput.tsx +49 -149
- package/src/components/KeyboardFocusGroup/KeyboardFocusGroup.android.tsx +23 -32
- package/src/components/KeyboardFocusGroup/KeyboardFocusGroup.ios.tsx +32 -41
- package/src/components/KeyboardFocusGroup/KeyboardFocusGroup.tsx +3 -14
- package/src/components/KeyboardFocusGroup/KeyboardFocusGroup.types.ts +15 -0
- package/src/components/KeyboardFocusLock/FocusFrame/FocusFrame.android.tsx +2 -2
- package/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.android.tsx +2 -2
- package/src/components/KeyboardFocusLock/FocusTrap/FocusTrap.tsx +1 -1
- package/src/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.tsx +2 -2
- package/src/components/KeyboardFocusView/KeyboardFocusView.tsx +29 -68
- package/src/components/Touchable/Pressable.tsx +2 -2
- package/src/components/index.ts +12 -0
- package/src/index.tsx +44 -32
- package/src/nativeSpec/ExternalKeyboardLockViewNativeComponent.ts +1 -3
- package/src/nativeSpec/ExternalKeyboardViewNativeComponent.ts +12 -9
- package/src/nativeSpec/KeyboardFocusGroupNativeComponent.ts +5 -3
- package/src/nativeSpec/TextInputFocusWrapperNativeComponent.ts +7 -3
- package/src/types/KeyboardFocusLock.types.ts +16 -1
- package/src/types/KeyboardFocusView.types.ts +17 -18
- package/src/types/baseKeyboardView.types.ts +122 -0
- package/src/types/focus.types.ts +40 -0
- package/src/types/focusOrder.types.ts +59 -0
- package/src/types/{FocusStyle.ts → focusStyle.types.ts} +5 -0
- package/src/types/index.ts +32 -2
- package/src/types/keyPress.types.ts +8 -0
- package/src/types/keyboardInput.types.ts +81 -0
- package/src/types/withKeyboardFocus.types.ts +178 -0
- package/src/utils/mapLockFocus.ts +31 -0
- package/src/utils/useFocusStyle.tsx +13 -41
- package/src/utils/useKeyboardFocusContainer.ts +102 -0
- package/src/utils/useKeyboardPress/useKeyboardPress.android.ts +4 -7
- package/src/utils/useKeyboardPress/useKeyboardPress.ios.ts +3 -6
- package/src/utils/useKeyboardPress/useKeyboardPress.ts +9 -7
- package/src/utils/useKeyboardPress/useKeyboardPress.types.ts +1 -2
- package/src/utils/useKeyboardPressState.ts +81 -0
- package/src/utils/useOnFocusChange.ts +4 -7
- package/src/utils/useOrderValidation.ts +74 -0
- package/src/utils/useRenderedChildren.ts +42 -0
- package/src/utils/useWrappedOrderProps.ts +48 -0
- package/src/utils/withKeyboardFocus.tsx +105 -125
- package/lib/commonjs/components/KeyboardExtendedInput/KeyboardExtendedInput.types.js.map +0 -1
- package/lib/commonjs/components/KeyboardFocusView/hooks/index.js +0 -13
- package/lib/commonjs/components/KeyboardFocusView/hooks/index.js.map +0 -1
- package/lib/commonjs/components/KeyboardFocusView/hooks/useFocusStyle/index.js +0 -13
- package/lib/commonjs/components/KeyboardFocusView/hooks/useFocusStyle/index.js.map +0 -1
- package/lib/commonjs/components/KeyboardFocusView/hooks/useFocusStyle/useFocusStyle.js +0 -33
- package/lib/commonjs/components/KeyboardFocusView/hooks/useFocusStyle/useFocusStyle.js.map +0 -1
- package/lib/commonjs/components/KeyboardFocusView/hooks/useFocusStyle/useTintStyle.js +0 -39
- package/lib/commonjs/components/KeyboardFocusView/hooks/useFocusStyle/useTintStyle.js.map +0 -1
- package/lib/commonjs/components/RenderPropComponent/RenderPropComponent.js +0 -23
- package/lib/commonjs/components/RenderPropComponent/RenderPropComponent.js.map +0 -1
- package/lib/commonjs/types/BaseKeyboardView.js +0 -18
- package/lib/commonjs/types/BaseKeyboardView.js.map +0 -1
- package/lib/module/components/KeyboardExtendedInput/KeyboardExtendedInput.types.js +0 -4
- package/lib/module/components/KeyboardExtendedInput/KeyboardExtendedInput.types.js.map +0 -1
- package/lib/module/components/KeyboardFocusView/hooks/index.js +0 -4
- package/lib/module/components/KeyboardFocusView/hooks/index.js.map +0 -1
- package/lib/module/components/KeyboardFocusView/hooks/useFocusStyle/index.js +0 -4
- package/lib/module/components/KeyboardFocusView/hooks/useFocusStyle/index.js.map +0 -1
- package/lib/module/components/KeyboardFocusView/hooks/useFocusStyle/useFocusStyle.js +0 -28
- package/lib/module/components/KeyboardFocusView/hooks/useFocusStyle/useFocusStyle.js.map +0 -1
- package/lib/module/components/KeyboardFocusView/hooks/useFocusStyle/useTintStyle.js +0 -34
- package/lib/module/components/KeyboardFocusView/hooks/useFocusStyle/useTintStyle.js.map +0 -1
- package/lib/module/components/RenderPropComponent/RenderPropComponent.js +0 -17
- package/lib/module/components/RenderPropComponent/RenderPropComponent.js.map +0 -1
- package/lib/module/types/BaseKeyboardView.js +0 -14
- package/lib/module/types/BaseKeyboardView.js.map +0 -1
- package/lib/module/types/FocusStyle.js +0 -4
- package/lib/module/types/WithKeyboardFocus.js +0 -4
- package/lib/typescript/src/components/KeyboardExtendedInput/KeyboardExtendedInput.types.d.ts +0 -45
- package/lib/typescript/src/components/KeyboardExtendedInput/KeyboardExtendedInput.types.d.ts.map +0 -1
- package/lib/typescript/src/components/KeyboardFocusView/hooks/index.d.ts +0 -2
- package/lib/typescript/src/components/KeyboardFocusView/hooks/index.d.ts.map +0 -1
- package/lib/typescript/src/components/KeyboardFocusView/hooks/useFocusStyle/index.d.ts +0 -2
- package/lib/typescript/src/components/KeyboardFocusView/hooks/useFocusStyle/index.d.ts.map +0 -1
- package/lib/typescript/src/components/KeyboardFocusView/hooks/useFocusStyle/useFocusStyle.d.ts +0 -175
- package/lib/typescript/src/components/KeyboardFocusView/hooks/useFocusStyle/useFocusStyle.d.ts.map +0 -1
- package/lib/typescript/src/components/KeyboardFocusView/hooks/useFocusStyle/useTintStyle.d.ts +0 -181
- package/lib/typescript/src/components/KeyboardFocusView/hooks/useFocusStyle/useTintStyle.d.ts.map +0 -1
- package/lib/typescript/src/components/RenderPropComponent/RenderPropComponent.d.ts +0 -6
- package/lib/typescript/src/components/RenderPropComponent/RenderPropComponent.d.ts.map +0 -1
- package/lib/typescript/src/types/BaseKeyboardView.d.ts +0 -70
- package/lib/typescript/src/types/BaseKeyboardView.d.ts.map +0 -1
- package/lib/typescript/src/types/FocusStyle.d.ts +0 -6
- package/lib/typescript/src/types/FocusStyle.d.ts.map +0 -1
- package/lib/typescript/src/types/WithKeyboardFocus.d.ts +0 -47
- package/lib/typescript/src/types/WithKeyboardFocus.d.ts.map +0 -1
- package/src/components/KeyboardExtendedInput/KeyboardExtendedInput.types.ts +0 -73
- package/src/components/KeyboardFocusView/hooks/index.ts +0 -1
- package/src/components/KeyboardFocusView/hooks/useFocusStyle/index.ts +0 -1
- package/src/components/KeyboardFocusView/hooks/useFocusStyle/useFocusStyle.ts +0 -34
- package/src/components/KeyboardFocusView/hooks/useFocusStyle/useTintStyle.ts +0 -41
- package/src/components/RenderPropComponent/RenderPropComponent.tsx +0 -18
- package/src/types/BaseKeyboardView.ts +0 -74
- package/src/types/WithKeyboardFocus.ts +0 -115
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { FocusTrapMountWrapper } from './FocusTrapMountWrapper';
|
|
5
5
|
import { KeyboardFocusLockBase } from '../KeyboardFocusLockBase/KeyboardFocusLockBase';
|
|
6
|
+
import { LockComponentType } from '../../../types';
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
export const FocusTrap = /*#__PURE__*/React.memo(({
|
|
8
9
|
lockDisabled = false,
|
|
@@ -10,7 +11,7 @@ export const FocusTrap = /*#__PURE__*/React.memo(({
|
|
|
10
11
|
}) => /*#__PURE__*/_jsx(FocusTrapMountWrapper, {
|
|
11
12
|
children: /*#__PURE__*/_jsx(KeyboardFocusLockBase, {
|
|
12
13
|
...props,
|
|
13
|
-
componentType:
|
|
14
|
+
componentType: LockComponentType.Trap,
|
|
14
15
|
lockDisabled: lockDisabled
|
|
15
16
|
})
|
|
16
17
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","FocusTrapMountWrapper","KeyboardFocusLockBase","jsx","_jsx","FocusTrap","memo","lockDisabled","props","children","componentType"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusTrap/FocusTrap.android.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,qBAAqB,QAAQ,gDAAgD;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["React","FocusTrapMountWrapper","KeyboardFocusLockBase","LockComponentType","jsx","_jsx","FocusTrap","memo","lockDisabled","props","children","componentType","Trap"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/FocusTrap/FocusTrap.android.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,qBAAqB,QAAQ,gDAAgD;AACtF,SAASC,iBAAiB,QAAqC,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhF,OAAO,MAAMC,SAAS,gBAAGN,KAAK,CAACO,IAAI,CACjC,CAAC;EAAEC,YAAY,GAAG,KAAK;EAAE,GAAGC;AAAM,CAAC,kBACjCJ,IAAA,CAACJ,qBAAqB;EAAAS,QAAA,eACpBL,IAAA,CAACH,qBAAqB;IAAA,GAChBO,KAAK;IACTE,aAAa,EAAER,iBAAiB,CAACS,IAAK;IACtCJ,YAAY,EAAEA;EAAa,CAC5B;AAAC,CACmB,CAE3B,CAAC","ignoreList":[]}
|
package/lib/module/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.js
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import ExternalKeyboardLockView from '../../../nativeSpec/ExternalKeyboardLockViewNativeComponent';
|
|
5
|
+
import { LockComponentType } from '../../../types';
|
|
5
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
7
|
export const KeyboardFocusLockBase = /*#__PURE__*/React.memo(({
|
|
7
8
|
lockDisabled = false,
|
|
8
|
-
componentType =
|
|
9
|
+
componentType = LockComponentType.Trap,
|
|
9
10
|
forceLock = false,
|
|
10
11
|
...props
|
|
11
12
|
}) => {
|
package/lib/module/components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ExternalKeyboardLockView","jsx","_jsx","KeyboardFocusLockBase","memo","lockDisabled","componentType","forceLock","props"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,wBAAwB,MAAM,6DAA6D;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["React","ExternalKeyboardLockView","LockComponentType","jsx","_jsx","KeyboardFocusLockBase","memo","lockDisabled","componentType","Trap","forceLock","props"],"sourceRoot":"../../../../../src","sources":["components/KeyboardFocusLock/KeyboardFocusLockBase/KeyboardFocusLockBase.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,wBAAwB,MAAM,6DAA6D;AAElG,SAASC,iBAAiB,QAAqC,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhF,OAAO,MAAMC,qBAAqB,gBAAGL,KAAK,CAACM,IAAI,CAC7C,CAAC;EACCC,YAAY,GAAG,KAAK;EACpBC,aAAa,GAAGN,iBAAiB,CAACO,IAAI;EACtCC,SAAS,GAAG,KAAK;EACjB,GAAGC;AACL,CAAC,KAAK;EACJ,oBACEP,IAAA,CAACH,wBAAwB;IAAA,GACnBU,KAAK;IACTH,aAAa,EAAEA,aAAc;IAC7BD,YAAY,EAAEA,YAAa;IAC3BG,SAAS,EAAEA;EAAU,CACtB,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useMemo } from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { Platform } from 'react-native';
|
|
5
5
|
import { BaseKeyboardView } from '../BaseKeyboardView/BaseKeyboardView';
|
|
6
|
-
import {
|
|
7
|
-
import { useFocusStyle } from '../../utils/useFocusStyle';
|
|
8
|
-
import { useKeyboardPress } from '../../utils/useKeyboardPress/useKeyboardPress';
|
|
6
|
+
import { useKeyboardFocusContainer } from '../../utils/useKeyboardFocusContainer';
|
|
9
7
|
import { IsViewFocusedContext } from '../../context/IsViewFocusedContext';
|
|
10
|
-
import { jsx as _jsx
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
9
|
export const KeyboardFocusView = /*#__PURE__*/React.forwardRef(({
|
|
12
|
-
tintType = 'default',
|
|
13
10
|
autoFocus,
|
|
14
11
|
focusStyle,
|
|
15
12
|
style,
|
|
@@ -18,16 +15,13 @@ export const KeyboardFocusView = /*#__PURE__*/React.forwardRef(({
|
|
|
18
15
|
onLongPress,
|
|
19
16
|
onKeyUpPress,
|
|
20
17
|
onKeyDownPress,
|
|
21
|
-
|
|
18
|
+
focusableWrapper = false,
|
|
22
19
|
haloEffect = true,
|
|
23
|
-
|
|
24
|
-
focusable = true,
|
|
20
|
+
focusable,
|
|
25
21
|
withView = true,
|
|
26
|
-
//ToDo RNCEKV-9 update and rename Discussion #63
|
|
27
22
|
tintColor,
|
|
28
23
|
onFocus,
|
|
29
24
|
onBlur,
|
|
30
|
-
FocusHoverComponent,
|
|
31
25
|
children,
|
|
32
26
|
accessible,
|
|
33
27
|
triggerCodes,
|
|
@@ -38,39 +32,23 @@ export const KeyboardFocusView = /*#__PURE__*/React.forwardRef(({
|
|
|
38
32
|
focused,
|
|
39
33
|
containerFocusedStyle,
|
|
40
34
|
onFocusChangeHandler,
|
|
41
|
-
hoverColor
|
|
42
|
-
} = useFocusStyle({
|
|
43
|
-
onFocusChange,
|
|
44
|
-
tintColor,
|
|
45
|
-
containerFocusStyle: focusStyle,
|
|
46
|
-
tintType
|
|
47
|
-
});
|
|
48
|
-
const withHaloEffect = tintType === 'default' && haloEffect;
|
|
49
|
-
const {
|
|
50
35
|
onKeyUpPressHandler,
|
|
51
36
|
onKeyDownPressHandler
|
|
52
|
-
} =
|
|
37
|
+
} = useKeyboardFocusContainer({
|
|
38
|
+
onFocusChange,
|
|
39
|
+
containerFocusStyle: focusStyle,
|
|
53
40
|
onKeyUpPress,
|
|
54
41
|
onKeyDownPress,
|
|
55
42
|
onPress,
|
|
56
43
|
onLongPress,
|
|
57
|
-
triggerCodes
|
|
58
|
-
disabled: props?.disabled
|
|
44
|
+
triggerCodes
|
|
59
45
|
});
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
if (tintType === 'hover') return /*#__PURE__*/_jsx(View, {
|
|
63
|
-
style: [hoverColor, styles.absolute, styles.opacity]
|
|
64
|
-
});
|
|
65
|
-
return undefined;
|
|
66
|
-
}, [FocusHoverComponent, hoverColor, tintType]);
|
|
67
|
-
const a11y = useMemo(() => {
|
|
68
|
-
return Platform.OS === 'android' && withView && accessible !== false || accessible;
|
|
69
|
-
}, [accessible, withView]);
|
|
46
|
+
const a11y = Platform.OS === 'android' && withView && accessible !== false || accessible;
|
|
47
|
+
const containerStyleArr = useMemo(() => [style, containerFocusedStyle], [style, containerFocusedStyle]);
|
|
70
48
|
return /*#__PURE__*/_jsx(IsViewFocusedContext.Provider, {
|
|
71
49
|
value: focused,
|
|
72
|
-
children: /*#__PURE__*/
|
|
73
|
-
style:
|
|
50
|
+
children: /*#__PURE__*/_jsx(BaseKeyboardView, {
|
|
51
|
+
style: containerStyleArr,
|
|
74
52
|
ref: ref,
|
|
75
53
|
onKeyUpPress: onKeyUpPressHandler,
|
|
76
54
|
onKeyDownPress: onKeyDownPressHandler,
|
|
@@ -78,32 +56,17 @@ export const KeyboardFocusView = /*#__PURE__*/React.forwardRef(({
|
|
|
78
56
|
onBlur: onBlur,
|
|
79
57
|
onFocusChange: onFocusChangeHandler,
|
|
80
58
|
onContextMenuPress: onLongPress,
|
|
81
|
-
haloEffect:
|
|
59
|
+
haloEffect: haloEffect,
|
|
82
60
|
defaultFocusHighlightEnabled: defaultFocusHighlightEnabled,
|
|
83
61
|
autoFocus: autoFocus,
|
|
84
|
-
canBeFocused: canBeFocused,
|
|
85
62
|
focusable: focusable,
|
|
86
63
|
tintColor: tintColor,
|
|
87
|
-
|
|
64
|
+
focusableWrapper: focusableWrapper,
|
|
88
65
|
accessible: a11y,
|
|
89
66
|
enableContextMenu: Boolean(onLongPress),
|
|
90
67
|
...props,
|
|
91
|
-
children:
|
|
92
|
-
render: HoverComonent
|
|
93
|
-
})]
|
|
68
|
+
children: children
|
|
94
69
|
})
|
|
95
70
|
});
|
|
96
71
|
});
|
|
97
|
-
const styles = StyleSheet.create({
|
|
98
|
-
absolute: {
|
|
99
|
-
position: 'absolute',
|
|
100
|
-
top: 0,
|
|
101
|
-
left: 0,
|
|
102
|
-
right: 0,
|
|
103
|
-
bottom: 0
|
|
104
|
-
},
|
|
105
|
-
opacity: {
|
|
106
|
-
opacity: 0.3
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
72
|
//# sourceMappingURL=KeyboardFocusView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","
|
|
1
|
+
{"version":3,"names":["React","useMemo","Platform","BaseKeyboardView","useKeyboardFocusContainer","IsViewFocusedContext","jsx","_jsx","KeyboardFocusView","forwardRef","autoFocus","focusStyle","style","onFocusChange","onPress","onLongPress","onKeyUpPress","onKeyDownPress","focusableWrapper","haloEffect","focusable","withView","tintColor","onFocus","onBlur","children","accessible","triggerCodes","defaultFocusHighlightEnabled","props","ref","focused","containerFocusedStyle","onFocusChangeHandler","onKeyUpPressHandler","onKeyDownPressHandler","containerFocusStyle","a11y","OS","containerStyleArr","Provider","value","onContextMenuPress","enableContextMenu","Boolean"],"sourceRoot":"../../../../src","sources":["components/KeyboardFocusView/KeyboardFocusView.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,QAAQ,QAAQ,cAAc;AAMvC,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,SAASC,yBAAyB,QAAQ,uCAAuC;AACjF,SAASC,oBAAoB,QAAQ,oCAAoC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1E,OAAO,MAAMC,iBAAiB,gBAAGR,KAAK,CAACS,UAAU,CAI/C,CACE;EACEC,SAAS;EACTC,UAAU;EACVC,KAAK;EACLC,aAAa;EACbC,OAAO;EACPC,WAAW;EACXC,YAAY;EACZC,cAAc;EACdC,gBAAgB,GAAG,KAAK;EACxBC,UAAU,GAAG,IAAI;EACjBC,SAAS;EACTC,QAAQ,GAAG,IAAI;EACfC,SAAS;EACTC,OAAO;EACPC,MAAM;EACNC,QAAQ;EACRC,UAAU;EACVC,YAAY;EACZC,4BAA4B,GAAG,IAAI;EACnC,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAM;IACJC,OAAO;IACPC,qBAAqB;IACrBC,oBAAoB;IACpBC,mBAAmB;IACnBC;EACF,CAAC,GAAG/B,yBAAyB,CAAC;IAC5BS,aAAa;IACbuB,mBAAmB,EAAEzB,UAAU;IAC/BK,YAAY;IACZC,cAAc;IACdH,OAAO;IACPC,WAAW;IACXY;EACF,CAAC,CAAC;EAEF,MAAMU,IAAI,GACPnC,QAAQ,CAACoC,EAAE,KAAK,SAAS,IAAIjB,QAAQ,IAAIK,UAAU,KAAK,KAAK,IAC9DA,UAAU;EAEZ,MAAMa,iBAAiB,GAAGtC,OAAO,CAC/B,MAAM,CAACW,KAAK,EAAEoB,qBAAqB,CAAC,EACpC,CAACpB,KAAK,EAAEoB,qBAAqB,CAC/B,CAAC;EAED,oBACEzB,IAAA,CAACF,oBAAoB,CAACmC,QAAQ;IAACC,KAAK,EAAEV,OAAQ;IAAAN,QAAA,eAC5ClB,IAAA,CAACJ,gBAAgB;MACfS,KAAK,EAAE2B,iBAAkB;MACzBT,GAAG,EAAEA,GAAuC;MAC5Cd,YAAY,EAAEkB,mBAAoB;MAClCjB,cAAc,EAAEkB,qBAAsB;MACtCZ,OAAO,EAAEA,OAAQ;MACjBC,MAAM,EAAEA,MAAO;MACfX,aAAa,EAAEoB,oBAAqB;MACpCS,kBAAkB,EAAE3B,WAAY;MAChCI,UAAU,EAAEA,UAAW;MACvBS,4BAA4B,EAAEA,4BAA6B;MAC3DlB,SAAS,EAAEA,SAAU;MACrBU,SAAS,EAAEA,SAAU;MACrBE,SAAS,EAAEA,SAAU;MACrBJ,gBAAgB,EAAEA,gBAAiB;MACnCQ,UAAU,EAAEW,IAAK;MACjBM,iBAAiB,EAAEC,OAAO,CAAC7B,WAAW,CAAE;MAAA,GACpCc,KAAK;MAAAJ,QAAA,EAERA;IAAQ,CACO;EAAC,CACU,CAAC;AAEpC,CACF,CAAC","ignoreList":[]}
|
|
@@ -2,4 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
export { BaseKeyboardView as ExternalKeyboardView, BaseKeyboardView as KeyboardExtendedBaseView, BaseKeyboardView } from './BaseKeyboardView/BaseKeyboardView';
|
|
4
4
|
export { KeyboardFocusView, KeyboardFocusView as KeyboardExtendedView } from './KeyboardFocusView';
|
|
5
|
+
export { KeyboardFocusGroup } from './KeyboardFocusGroup/KeyboardFocusGroup';
|
|
6
|
+
export { KeyboardExtendedInput, KeyboardExtendedInput as TextInput } from './KeyboardExtendedInput/KeyboardExtendedInput';
|
|
7
|
+
export { Pressable, Pressable as KeyboardExtendedPressable } from './Touchable/Pressable';
|
|
8
|
+
export { FocusFrame } from './KeyboardFocusLock/FocusFrame/FocusFrame';
|
|
9
|
+
export { FocusTrap } from './KeyboardFocusLock/FocusTrap/FocusTrap';
|
|
5
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseKeyboardView","ExternalKeyboardView","KeyboardExtendedBaseView","KeyboardFocusView","KeyboardExtendedView"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,SACEA,gBAAgB,IAAIC,oBAAoB,EACxCD,gBAAgB,IAAIE,wBAAwB,EAC5CF,gBAAgB,QACX,qCAAqC;AAC5C,SACEG,iBAAiB,EACjBA,iBAAiB,IAAIC,oBAAoB,QACpC,qBAAqB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["BaseKeyboardView","ExternalKeyboardView","KeyboardExtendedBaseView","KeyboardFocusView","KeyboardExtendedView","KeyboardFocusGroup","KeyboardExtendedInput","TextInput","Pressable","KeyboardExtendedPressable","FocusFrame","FocusTrap"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,SACEA,gBAAgB,IAAIC,oBAAoB,EACxCD,gBAAgB,IAAIE,wBAAwB,EAC5CF,gBAAgB,QACX,qCAAqC;AAC5C,SACEG,iBAAiB,EACjBA,iBAAiB,IAAIC,oBAAoB,QACpC,qBAAqB;AAC5B,SAASC,kBAAkB,QAAQ,yCAAyC;AAC5E,SACEC,qBAAqB,EACrBA,qBAAqB,IAAIC,SAAS,QAC7B,+CAA+C;AACtD,SACEC,SAAS,EACTA,SAAS,IAAIC,yBAAyB,QAEjC,uBAAuB;AAC9B,SAASC,UAAU,QAAQ,2CAA2C;AACtE,SAASC,SAAS,QAAQ,yCAAyC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,19 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { FocusFrame } from './components
|
|
4
|
-
import
|
|
3
|
+
import { FocusFrame, FocusTrap, KeyboardFocusView, KeyboardExtendedInput, Pressable } from './components';
|
|
4
|
+
import * as Keyboard from './modules/Keyboard';
|
|
5
|
+
|
|
6
|
+
// Native spec
|
|
5
7
|
export { ExternalKeyboardViewNative, TextInputFocusWrapperNative } from './nativeSpec';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export { KeyboardExtendedInput, KeyboardExtendedInput as TextInput } from './components
|
|
9
|
-
|
|
8
|
+
|
|
9
|
+
// Components
|
|
10
|
+
export { BaseKeyboardView, BaseKeyboardView as ExternalKeyboardView, BaseKeyboardView as KeyboardExtendedBaseView, KeyboardFocusView, KeyboardFocusView as KeyboardExtendedView, KeyboardFocusGroup, KeyboardExtendedInput, KeyboardExtendedInput as TextInput, Pressable, Pressable as KeyboardExtendedPressable } from './components';
|
|
11
|
+
|
|
12
|
+
// Types
|
|
13
|
+
export { LockComponentType } from './types';
|
|
14
|
+
// Hooks & context
|
|
10
15
|
export { withKeyboardFocus } from './utils/withKeyboardFocus';
|
|
11
16
|
export { useIsViewFocused } from './context/IsViewFocusedContext';
|
|
12
17
|
export { KeyboardOrderFocusGroup, OrderFocusGroupContext, useOrderFocusGroup } from './context/OrderFocusContext';
|
|
13
|
-
|
|
18
|
+
|
|
19
|
+
// Modules
|
|
14
20
|
export { Keyboard };
|
|
21
|
+
|
|
22
|
+
// Namespaces
|
|
15
23
|
export const Focus = {
|
|
16
24
|
Frame: FocusFrame,
|
|
17
25
|
Trap: FocusTrap
|
|
18
26
|
};
|
|
27
|
+
export const K = {
|
|
28
|
+
Input: KeyboardExtendedInput,
|
|
29
|
+
View: KeyboardFocusView,
|
|
30
|
+
Pressable
|
|
31
|
+
};
|
|
19
32
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FocusFrame","FocusTrap","
|
|
1
|
+
{"version":3,"names":["FocusFrame","FocusTrap","KeyboardFocusView","KeyboardExtendedInput","Pressable","Keyboard","ExternalKeyboardViewNative","TextInputFocusWrapperNative","BaseKeyboardView","ExternalKeyboardView","KeyboardExtendedBaseView","KeyboardExtendedView","KeyboardFocusGroup","TextInput","KeyboardExtendedPressable","LockComponentType","withKeyboardFocus","useIsViewFocused","KeyboardOrderFocusGroup","OrderFocusGroupContext","useOrderFocusGroup","Focus","Frame","Trap","K","Input","View"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SACEA,UAAU,EACVC,SAAS,EACTC,iBAAiB,EACjBC,qBAAqB,EACrBC,SAAS,QACJ,cAAc;AACrB,OAAO,KAAKC,QAAQ,MAAM,oBAAoB;;AAE9C;AACA,SACEC,0BAA0B,EAC1BC,2BAA2B,QAEtB,cAAc;;AAErB;AACA,SACEC,gBAAgB,EAChBA,gBAAgB,IAAIC,oBAAoB,EACxCD,gBAAgB,IAAIE,wBAAwB,EAC5CR,iBAAiB,EACjBA,iBAAiB,IAAIS,oBAAoB,EACzCC,kBAAkB,EAClBT,qBAAqB,EACrBA,qBAAqB,IAAIU,SAAS,EAClCT,SAAS,EACTA,SAAS,IAAIU,yBAAyB,QACjC,cAAc;;AAErB;AACA,SACEC,iBAAiB,QAcZ,SAAS;AAGhB;AACA,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SACEC,uBAAuB,EACvBC,sBAAsB,EACtBC,kBAAkB,QACb,6BAA6B;;AAEpC;AACA,SAASf,QAAQ;;AAEjB;AACA,OAAO,MAAMgB,KAAK,GAAG;EACnBC,KAAK,EAAEtB,UAAU;EACjBuB,IAAI,EAAEtB;AACR,CAAC;AAED,OAAO,MAAMuB,CAAC,GAAG;EACfC,KAAK,EAAEtB,qBAAqB;EAC5BuB,IAAI,EAAExB,iBAAiB;EACvBE;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { codegenNativeComponent, type ViewProps } from 'react-native';
|
|
2
2
|
import type { Int32 } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
4
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
5
3
|
|
|
6
4
|
export interface ExternalKeyboardLockViewNativeComponentProps
|
|
7
5
|
extends ViewProps {
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
codegenNativeComponent,
|
|
3
|
+
codegenNativeCommands,
|
|
4
|
+
type ColorValue,
|
|
5
|
+
type ViewProps,
|
|
6
|
+
} from 'react-native';
|
|
2
7
|
import type {
|
|
3
8
|
BubblingEventHandler,
|
|
4
9
|
DirectEventHandler,
|
|
@@ -6,10 +11,6 @@ import type {
|
|
|
6
11
|
Int32,
|
|
7
12
|
} from 'react-native/Libraries/Types/CodegenTypes';
|
|
8
13
|
import type { ComponentType } from 'react';
|
|
9
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
10
|
-
import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
|
|
11
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
12
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
13
14
|
|
|
14
15
|
export type FocusChange = Readonly<{
|
|
15
16
|
isFocused: boolean;
|
|
@@ -48,10 +49,10 @@ export interface ExternalKeyboardNativeProps extends ViewProps {
|
|
|
48
49
|
haloCornerRadius?: Float;
|
|
49
50
|
haloExpendX?: Float;
|
|
50
51
|
haloExpendY?: Float;
|
|
52
|
+
roundedHaloFix?: boolean;
|
|
51
53
|
tintColor?: ColorValue;
|
|
52
|
-
|
|
54
|
+
focusableWrapper?: boolean;
|
|
53
55
|
groupIdentifier?: string;
|
|
54
|
-
enableA11yFocus?: boolean;
|
|
55
56
|
screenAutoA11yFocus?: boolean;
|
|
56
57
|
screenAutoA11yFocusDelay?: Int32;
|
|
57
58
|
orderGroup?: string;
|
|
@@ -71,11 +72,13 @@ export interface ExternalKeyboardNativeProps extends ViewProps {
|
|
|
71
72
|
|
|
72
73
|
export interface NativeCommands {
|
|
73
74
|
// @ts-ignore
|
|
74
|
-
|
|
75
|
+
rnekKeyboardFocus: (viewRef: React.ElementRef<ComponentType>) => void;
|
|
76
|
+
// @ts-ignore
|
|
77
|
+
rnekScreenReaderFocus: (viewRef: React.ElementRef<ComponentType>) => void;
|
|
75
78
|
}
|
|
76
79
|
|
|
77
80
|
export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
78
|
-
supportedCommands: ['
|
|
81
|
+
supportedCommands: ['rnekKeyboardFocus', 'rnekScreenReaderFocus'],
|
|
79
82
|
});
|
|
80
83
|
|
|
81
84
|
export default codegenNativeComponent<ExternalKeyboardNativeProps>(
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
codegenNativeComponent,
|
|
3
|
+
type ViewProps,
|
|
4
|
+
type ColorValue,
|
|
5
|
+
} from 'react-native';
|
|
2
6
|
import type { DirectEventHandler } from 'react-native/Libraries/Types/CodegenTypes';
|
|
3
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
4
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
5
7
|
|
|
6
8
|
export type FocusChange = Readonly<{
|
|
7
9
|
isFocused: boolean;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
codegenNativeComponent,
|
|
3
|
+
type ViewProps,
|
|
4
|
+
type ColorValue,
|
|
5
|
+
} from 'react-native';
|
|
2
6
|
import type {
|
|
3
7
|
DirectEventHandler,
|
|
4
8
|
Float,
|
|
5
9
|
Int32,
|
|
6
10
|
} from 'react-native/Libraries/Types/CodegenTypes';
|
|
7
|
-
// eslint-disable-next-line @react-native/no-deep-imports
|
|
8
|
-
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
9
11
|
|
|
10
12
|
export type FocusChange = Readonly<{
|
|
11
13
|
isFocused: boolean;
|
|
@@ -21,10 +23,12 @@ export interface TextInputFocusWrapperNativeComponent extends ViewProps {
|
|
|
21
23
|
focusType?: Int32;
|
|
22
24
|
blurType?: Int32;
|
|
23
25
|
canBeFocused?: boolean;
|
|
26
|
+
hasOnFocusChanged?: boolean;
|
|
24
27
|
haloEffect?: boolean;
|
|
25
28
|
haloCornerRadius?: Float;
|
|
26
29
|
haloExpendX?: Float;
|
|
27
30
|
haloExpendY?: Float;
|
|
31
|
+
roundedHaloFix?: boolean;
|
|
28
32
|
tintColor?: ColorValue;
|
|
29
33
|
blurOnSubmit?: boolean;
|
|
30
34
|
multiline?: boolean;
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Native role for a KeyboardFocusLock component on Android.
|
|
5
|
+
* iOS does not consume this value.
|
|
6
|
+
*
|
|
7
|
+
* Values must match the constants in
|
|
8
|
+
* `android/src/main/java/com/externalkeyboard/views/ExternalKeyboardLockView/ExternalKeyboardLockView.java`.
|
|
9
|
+
*/
|
|
10
|
+
export let LockComponentType = /*#__PURE__*/function (LockComponentType) {
|
|
11
|
+
LockComponentType[LockComponentType["Trap"] = 0] = "Trap";
|
|
12
|
+
LockComponentType[LockComponentType["Frame"] = 1] = "Frame";
|
|
13
|
+
return LockComponentType;
|
|
14
|
+
}({});
|
|
4
15
|
//# sourceMappingURL=KeyboardFocusLock.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/KeyboardFocusLock.types.ts"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["LockComponentType"],"sourceRoot":"../../../src","sources":["types/KeyboardFocusLock.types.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/baseKeyboardView.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/focus.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Directions in which keyboard focus movement can be locked via {@link CommonFocusProps.lockFocus}.
|
|
5
|
+
*
|
|
6
|
+
* - `Up` / `Down` / `Left` / `Right` — block directional (arrow / DPad) movement.
|
|
7
|
+
* - `Forward` / `Backward` — block `Tab` and `Shift + Tab` movement.
|
|
8
|
+
* - `First` / `Last` — block jumping to the first / last focusable element.
|
|
9
|
+
*/
|
|
10
|
+
export let LockFocusEnum = /*#__PURE__*/function (LockFocusEnum) {
|
|
11
|
+
LockFocusEnum["Up"] = "up";
|
|
12
|
+
LockFocusEnum["Down"] = "down";
|
|
13
|
+
LockFocusEnum["Right"] = "right";
|
|
14
|
+
LockFocusEnum["Left"] = "left";
|
|
15
|
+
LockFocusEnum["Forward"] = "forward";
|
|
16
|
+
LockFocusEnum["Backward"] = "backward";
|
|
17
|
+
LockFocusEnum["First"] = "first";
|
|
18
|
+
LockFocusEnum["Last"] = "last";
|
|
19
|
+
return LockFocusEnum;
|
|
20
|
+
}({});
|
|
21
|
+
|
|
22
|
+
/** String-literal form of {@link LockFocusEnum} — `'up' | 'down' | 'left' | …`. */
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Link-based focus ordering props. Each `order*` target names the {@link FocusOrderProps.orderId orderId}
|
|
26
|
+
* of the element that should receive focus when moving in that direction.
|
|
27
|
+
*
|
|
28
|
+
* > `orderId` values are global. In repeated content (lists, cards) duplicate IDs cause
|
|
29
|
+
* > incorrect focus jumps — namespace them with `orderPrefix` or a `KeyboardOrderFocusGroup`.
|
|
30
|
+
*/
|
|
31
|
+
//# sourceMappingURL=focusOrder.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LockFocusEnum"],"sourceRoot":"../../../src","sources":["types/focusOrder.types.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;;AAWzB;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/focusStyle.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["LockComponentType","LockFocusEnum"],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":";;AAKA,SAASA,iBAAiB,QAAQ,2BAA2B;AAU7D,SAASC,aAAa,QAAQ,oBAAoB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/keyPress.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/keyboardInput.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/withKeyboardFocus.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { LockFocusEnum } from '../types';
|
|
4
|
+
var BITS = /*#__PURE__*/function (BITS) {
|
|
5
|
+
BITS[BITS["BIT_01"] = 1] = "BIT_01";
|
|
6
|
+
BITS[BITS["BIT_02"] = 2] = "BIT_02";
|
|
7
|
+
BITS[BITS["BIT_03"] = 4] = "BIT_03";
|
|
8
|
+
BITS[BITS["BIT_04"] = 8] = "BIT_04";
|
|
9
|
+
BITS[BITS["BIT_05"] = 16] = "BIT_05";
|
|
10
|
+
BITS[BITS["BIT_06"] = 32] = "BIT_06";
|
|
11
|
+
BITS[BITS["BIT_07"] = 64] = "BIT_07";
|
|
12
|
+
BITS[BITS["BIT_08"] = 128] = "BIT_08";
|
|
13
|
+
BITS[BITS["BIT_09"] = 256] = "BIT_09";
|
|
14
|
+
BITS[BITS["BIT_10"] = 512] = "BIT_10";
|
|
15
|
+
return BITS;
|
|
16
|
+
}(BITS || {});
|
|
17
|
+
const focusBinaryValue = {
|
|
18
|
+
[LockFocusEnum.Up]: BITS.BIT_01,
|
|
19
|
+
[LockFocusEnum.Down]: BITS.BIT_02,
|
|
20
|
+
[LockFocusEnum.Left]: BITS.BIT_03,
|
|
21
|
+
[LockFocusEnum.Right]: BITS.BIT_04,
|
|
22
|
+
[LockFocusEnum.Forward]: BITS.BIT_05,
|
|
23
|
+
[LockFocusEnum.Backward]: BITS.BIT_06,
|
|
24
|
+
[LockFocusEnum.First]: BITS.BIT_09,
|
|
25
|
+
[LockFocusEnum.Last]: BITS.BIT_10
|
|
26
|
+
};
|
|
27
|
+
export const mapLockFocus = values => {
|
|
28
|
+
if (!values || !values.length) return 0;
|
|
29
|
+
// eslint-disable-next-line no-bitwise
|
|
30
|
+
return values.reduce((acc, item) => acc | focusBinaryValue[item], 0);
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=mapLockFocus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LockFocusEnum","BITS","focusBinaryValue","Up","BIT_01","Down","BIT_02","Left","BIT_03","Right","BIT_04","Forward","BIT_05","Backward","BIT_06","First","BIT_09","Last","BIT_10","mapLockFocus","values","length","reduce","acc","item"],"sourceRoot":"../../../src","sources":["utils/mapLockFocus.ts"],"mappings":";;AAAA,SAASA,aAAa,QAA4B,UAAU;AAAC,IAExDC,IAAI,0BAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA,EAAJA,IAAI;AAaT,MAAMC,gBAA+C,GAAG;EACtD,CAACF,aAAa,CAACG,EAAE,GAAGF,IAAI,CAACG,MAAM;EAC/B,CAACJ,aAAa,CAACK,IAAI,GAAGJ,IAAI,CAACK,MAAM;EACjC,CAACN,aAAa,CAACO,IAAI,GAAGN,IAAI,CAACO,MAAM;EACjC,CAACR,aAAa,CAACS,KAAK,GAAGR,IAAI,CAACS,MAAM;EAClC,CAACV,aAAa,CAACW,OAAO,GAAGV,IAAI,CAACW,MAAM;EACpC,CAACZ,aAAa,CAACa,QAAQ,GAAGZ,IAAI,CAACa,MAAM;EACrC,CAACd,aAAa,CAACe,KAAK,GAAGd,IAAI,CAACe,MAAM;EAClC,CAAChB,aAAa,CAACiB,IAAI,GAAGhB,IAAI,CAACiB;AAC7B,CAAC;AAED,OAAO,MAAMC,YAAY,GAAIC,MAAmC,IAAa;EAC3E,IAAI,CAACA,MAAM,IAAI,CAACA,MAAM,CAACC,MAAM,EAAE,OAAO,CAAC;EACvC;EACA,OAAOD,MAAM,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAKD,GAAG,GAAGrB,gBAAgB,CAACsB,IAAI,CAAC,EAAE,CAAC,CAAC;AACtE,CAAC","ignoreList":[]}
|
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useState, useMemo, useCallback } from 'react';
|
|
4
|
-
import { Pressable } from 'react-native';
|
|
5
|
-
const backgroundTintMap = {
|
|
6
|
-
background: true
|
|
7
|
-
};
|
|
8
|
-
const DEFAULT_BACKGROUND_TINT = '#dce3f9';
|
|
9
4
|
export const useFocusStyle = ({
|
|
10
5
|
focusStyle,
|
|
11
6
|
onFocusChange,
|
|
12
7
|
containerFocusStyle,
|
|
13
|
-
tintColor,
|
|
14
|
-
tintType = 'default',
|
|
15
8
|
style,
|
|
16
|
-
|
|
17
|
-
withPressedStyle = false
|
|
9
|
+
pressedStyleSignature = false
|
|
18
10
|
}) => {
|
|
19
11
|
const [focused, setFocusStatus] = useState(false);
|
|
20
12
|
const onFocusChangeHandler = useCallback(isFocused => {
|
|
@@ -27,22 +19,14 @@ export const useFocusStyle = ({
|
|
|
27
19
|
}) : focusStyle;
|
|
28
20
|
return focused ? specificStyle : undefined;
|
|
29
21
|
}, [focusStyle, focused]);
|
|
30
|
-
const hoverColor = useMemo(() => ({
|
|
31
|
-
backgroundColor: tintColor
|
|
32
|
-
}), [tintColor]);
|
|
33
22
|
const containerFocusedStyle = useMemo(() => {
|
|
34
|
-
if (backgroundTintMap[tintType] && !containerFocusStyle) {
|
|
35
|
-
return focused ? {
|
|
36
|
-
backgroundColor: tintColor ?? DEFAULT_BACKGROUND_TINT
|
|
37
|
-
} : undefined;
|
|
38
|
-
}
|
|
39
23
|
if (!containerFocusStyle) return undefined;
|
|
40
24
|
const specificStyle = typeof containerFocusStyle === 'function' ? containerFocusStyle({
|
|
41
25
|
focused
|
|
42
26
|
}) : containerFocusStyle;
|
|
43
27
|
return focused ? specificStyle : undefined;
|
|
44
|
-
}, [containerFocusStyle, focused
|
|
45
|
-
const
|
|
28
|
+
}, [containerFocusStyle, focused]);
|
|
29
|
+
const defaultComponentStyle = useMemo(() => pressedStyleSignature ? undefined : [style, componentFocusedStyle], [pressedStyleSignature, style, componentFocusedStyle]);
|
|
46
30
|
const styleHandlerPressable = useCallback(({
|
|
47
31
|
pressed
|
|
48
32
|
}) => {
|
|
@@ -54,13 +38,12 @@ export const useFocusStyle = ({
|
|
|
54
38
|
return [style, componentFocusedStyle];
|
|
55
39
|
}
|
|
56
40
|
}, [componentFocusedStyle, style]);
|
|
57
|
-
const componentStyleViewStyle =
|
|
41
|
+
const componentStyleViewStyle = pressedStyleSignature ? styleHandlerPressable : defaultComponentStyle;
|
|
58
42
|
return {
|
|
59
43
|
componentStyleViewStyle,
|
|
60
44
|
componentFocusedStyle,
|
|
61
45
|
containerFocusedStyle,
|
|
62
46
|
onFocusChangeHandler,
|
|
63
|
-
hoverColor,
|
|
64
47
|
focused
|
|
65
48
|
};
|
|
66
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useMemo","useCallback","
|
|
1
|
+
{"version":3,"names":["useState","useMemo","useCallback","useFocusStyle","focusStyle","onFocusChange","containerFocusStyle","style","pressedStyleSignature","focused","setFocusStatus","onFocusChangeHandler","isFocused","componentFocusedStyle","specificStyle","undefined","containerFocusedStyle","defaultComponentStyle","styleHandlerPressable","pressed","componentStyleViewStyle"],"sourceRoot":"../../../src","sources":["utils/useFocusStyle.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,OAAO,EAAEC,WAAW,QAAQ,OAAO;AAYtD,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAC5BC,UAAU;EACVC,aAAa;EACbC,mBAAmB;EACnBC,KAAK;EACLC,qBAAqB,GAAG;AACN,CAAC,KAAK;EACxB,MAAM,CAACC,OAAO,EAAEC,cAAc,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EAEjD,MAAMW,oBAAoB,GAAGT,WAAW,CACrCU,SAAkB,IAAK;IACtBF,cAAc,CAACE,SAAS,CAAC;IACzBP,aAAa,GAAGO,SAAS,CAAC;EAC5B,CAAC,EACD,CAACP,aAAa,CAChB,CAAC;EAED,MAAMQ,qBAAqB,GAAGZ,OAAO,CAAC,MAAM;IAC1C,MAAMa,aAAa,GACjB,OAAOV,UAAU,KAAK,UAAU,GAAGA,UAAU,CAAC;MAAEK;IAAQ,CAAC,CAAC,GAAGL,UAAU;IACzE,OAAOK,OAAO,GAAGK,aAAa,GAAGC,SAAS;EAC5C,CAAC,EAAE,CAACX,UAAU,EAAEK,OAAO,CAAC,CAAC;EAEzB,MAAMO,qBAAqB,GAAGf,OAAO,CAAC,MAAM;IAC1C,IAAI,CAACK,mBAAmB,EAAE,OAAOS,SAAS;IAE1C,MAAMD,aAAa,GACjB,OAAOR,mBAAmB,KAAK,UAAU,GACrCA,mBAAmB,CAAC;MAAEG;IAAQ,CAAC,CAAC,GAChCH,mBAAmB;IAEzB,OAAOG,OAAO,GAAGK,aAAa,GAAGC,SAAS;EAC5C,CAAC,EAAE,CAACT,mBAAmB,EAAEG,OAAO,CAAC,CAAC;EAElC,MAAMQ,qBAAqB,GAAGhB,OAAO,CACnC,MAAOO,qBAAqB,GAAGO,SAAS,GAAG,CAACR,KAAK,EAAEM,qBAAqB,CAAE,EAC1E,CAACL,qBAAqB,EAAED,KAAK,EAAEM,qBAAqB,CACtD,CAAC;EACD,MAAMK,qBAAqB,GAAGhB,WAAW,CACvC,CAAC;IAAEiB;EAA8B,CAAC,KAAK;IACrC,IAAI,OAAOZ,KAAK,KAAK,UAAU,EAAE;MAC/B,OAAO,CAACA,KAAK,CAAC;QAAEY;MAAQ,CAAC,CAAC,EAAEN,qBAAqB,CAAC;IACpD,CAAC,MAAM;MACL,OAAO,CAACN,KAAK,EAAEM,qBAAqB,CAAC;IACvC;EACF,CAAC,EACD,CAACA,qBAAqB,EAAEN,KAAK,CAC/B,CAAC;EAED,MAAMa,uBAAuB,GAAGZ,qBAAqB,GACjDU,qBAAqB,GACrBD,qBAAqB;EAEzB,OAAO;IACLG,uBAAuB;IACvBP,qBAAqB;IACrBG,qBAAqB;IACrBL,oBAAoB;IACpBF;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|