react-native-external-keyboard 0.5.2 → 0.5.3
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 +13 -0
- package/android/src/main/java/com/externalkeyboard/ExternalKeyboardViewPackage.java +34 -6
- package/android/src/main/java/com/externalkeyboard/modules/ExternalKeyboardModule.java +52 -0
- package/android/src/main/java/com/externalkeyboard/views/TextInputFocusWrapper/TextInputFocusWrapper.java +55 -17
- package/android/src/main/java/com/externalkeyboard/views/TextInputFocusWrapper/TextInputFocusWrapperManager.java +5 -3
- package/android/src/newarch/ExternalKeyboardModuleSpec.java +9 -0
- package/android/src/oldarch/ExternalKeyboardModuleSpec.java +13 -0
- package/ios/Modules/RNCEKVExternalKeyboardModule.h +17 -0
- package/ios/Modules/RNCEKVExternalKeyboardModule.mm +40 -0
- package/lib/commonjs/components/KeyboardFocusView/KeyboardFocusView.js +8 -1
- package/lib/commonjs/components/KeyboardFocusView/KeyboardFocusView.js.map +1 -1
- package/lib/commonjs/index.js +5 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/Keyboard.android.js +26 -0
- package/lib/commonjs/modules/Keyboard.android.js.map +1 -0
- package/lib/commonjs/modules/Keyboard.js +11 -0
- package/lib/commonjs/modules/Keyboard.js.map +1 -0
- package/lib/commonjs/nativeSpec/NativeExternalKeyboardModule.js +9 -0
- package/lib/commonjs/nativeSpec/NativeExternalKeyboardModule.js.map +1 -0
- package/lib/commonjs/utils/useFocusStyle.js.map +1 -1
- package/lib/commonjs/utils/withKeyboardFocus.js +2 -0
- package/lib/commonjs/utils/withKeyboardFocus.js.map +1 -1
- package/lib/module/components/KeyboardFocusView/KeyboardFocusView.js +9 -2
- package/lib/module/components/KeyboardFocusView/KeyboardFocusView.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/Keyboard.android.js +19 -0
- package/lib/module/modules/Keyboard.android.js.map +1 -0
- package/lib/module/modules/Keyboard.js +5 -0
- package/lib/module/modules/Keyboard.js.map +1 -0
- package/lib/module/nativeSpec/NativeExternalKeyboardModule.js +3 -0
- package/lib/module/nativeSpec/NativeExternalKeyboardModule.js.map +1 -0
- package/lib/module/utils/useFocusStyle.js.map +1 -1
- package/lib/module/utils/withKeyboardFocus.js +2 -0
- package/lib/module/utils/withKeyboardFocus.js.map +1 -1
- package/lib/typescript/src/components/BaseKeyboardView/BaseKeyboardView.d.ts +1 -22
- package/lib/typescript/src/components/BaseKeyboardView/BaseKeyboardView.d.ts.map +1 -1
- package/lib/typescript/src/components/KeyboardFocusView/KeyboardFocusView.d.ts +2 -22
- package/lib/typescript/src/components/KeyboardFocusView/KeyboardFocusView.d.ts.map +1 -1
- package/lib/typescript/src/components/Touchable/Pressable.d.ts +1 -14
- package/lib/typescript/src/components/Touchable/Pressable.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/modules/Keyboard.android.d.ts +3 -0
- package/lib/typescript/src/modules/Keyboard.android.d.ts.map +1 -0
- package/lib/typescript/src/modules/Keyboard.d.ts +2 -0
- package/lib/typescript/src/modules/Keyboard.d.ts.map +1 -0
- package/lib/typescript/src/nativeSpec/NativeExternalKeyboardModule.d.ts +7 -0
- package/lib/typescript/src/nativeSpec/NativeExternalKeyboardModule.d.ts.map +1 -0
- package/lib/typescript/src/types/BaseKeyboardView.d.ts +2 -1
- package/lib/typescript/src/types/BaseKeyboardView.d.ts.map +1 -1
- package/lib/typescript/src/types/KeyboardFocusView.types.d.ts +4 -3
- package/lib/typescript/src/types/KeyboardFocusView.types.d.ts.map +1 -1
- package/lib/typescript/src/utils/useFocusStyle.d.ts +3 -3
- package/lib/typescript/src/utils/useFocusStyle.d.ts.map +1 -1
- package/lib/typescript/src/utils/withKeyboardFocus.d.ts +11 -14
- package/lib/typescript/src/utils/withKeyboardFocus.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/KeyboardFocusView/KeyboardFocusView.tsx +12 -1
- package/src/index.tsx +2 -0
- package/src/modules/Keyboard.android.ts +29 -0
- package/src/modules/Keyboard.ts +5 -0
- package/src/nativeSpec/NativeExternalKeyboardModule.ts +8 -0
- package/src/types/BaseKeyboardView.ts +4 -1
- package/src/types/KeyboardFocusView.types.ts +9 -3
- package/src/utils/useFocusStyle.tsx +4 -4
- package/src/utils/withKeyboardFocus.tsx +29 -27
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@ React Native library for enhanced external keyboard support.
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
## New Release Features
|
|
14
|
+
- Added `Keyboard.dismiss` functionality for Android.
|
|
14
15
|
- Introduced an iOS-specific component: `KeyboardFocusGroup`, a component for managing the `tintColor`, `focusGroupIdentifier`, and group focus.
|
|
15
16
|
- Enhanced `KeyboardExtendedBaseView` with `haloCornerRadius`, `haloExpandX`, and `haloExpandY` properties for customizing the appearance of the `Halo Effect`.
|
|
16
17
|
- Enhanced `KeyboardExtendedBaseView` with `onBubbledContextMenuPress`, key press functionality has been also enhanced. Key presses can be listened to for a group of components, screens, or pages.
|
|
@@ -249,6 +250,18 @@ onFocus?: | Handler called when the component is focused | `() => void`
|
|
|
249
250
|
onBlur?: | Handler called when the component loses focus | `() => void`
|
|
250
251
|
groupIdentifier?: | Relates to iOS `focusGroupIdentifier`: the identifier of the focus group to which this view belongs| `string`
|
|
251
252
|
|
|
253
|
+
### Keyboard
|
|
254
|
+
Keyboard module to support soft keyboard dismissal.
|
|
255
|
+
|
|
256
|
+
```tsx
|
|
257
|
+
import { Keyboard } from 'react-native-external-keyboard';
|
|
258
|
+
|
|
259
|
+
...
|
|
260
|
+
Keyboard.dismiss();
|
|
261
|
+
...
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
This is needed for hiding the soft keyboard using a hardware keyboard. Additionally, the soft keyboard can be hidden from the settings or by pressing `Alt + K`.
|
|
252
265
|
|
|
253
266
|
# Migration 0.3.x to 0.4.0
|
|
254
267
|
|
|
@@ -1,18 +1,49 @@
|
|
|
1
1
|
package com.externalkeyboard;
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
import com.externalkeyboard.modules.ExternalKeyboardModule;
|
|
4
5
|
import com.externalkeyboard.views.ExternalKeyboardView.ExternalKeyboardViewManager;
|
|
5
6
|
import com.externalkeyboard.views.KeyboardFocusGroup.KeyboardFocusGroupManager;
|
|
6
7
|
import com.externalkeyboard.views.TextInputFocusWrapper.TextInputFocusWrapperManager;
|
|
7
|
-
import com.facebook.react.
|
|
8
|
+
import com.facebook.react.BaseReactPackage;
|
|
9
|
+
import com.facebook.react.TurboReactPackage;
|
|
8
10
|
import com.facebook.react.bridge.NativeModule;
|
|
9
11
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
12
|
+
import com.facebook.react.module.model.ReactModuleInfo;
|
|
13
|
+
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
|
10
14
|
import com.facebook.react.uimanager.ViewManager;
|
|
11
15
|
|
|
12
16
|
import java.util.ArrayList;
|
|
13
17
|
import java.util.List;
|
|
18
|
+
import java.util.HashMap;
|
|
19
|
+
import java.util.Map;
|
|
14
20
|
|
|
15
|
-
public class ExternalKeyboardViewPackage
|
|
21
|
+
public class ExternalKeyboardViewPackage extends TurboReactPackage {
|
|
22
|
+
@Override
|
|
23
|
+
public NativeModule getModule(String name, ReactApplicationContext reactContext) {
|
|
24
|
+
if (name.equals(ExternalKeyboardModule.NAME)) {
|
|
25
|
+
return new ExternalKeyboardModule(reactContext);
|
|
26
|
+
} else {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@Override
|
|
32
|
+
public ReactModuleInfoProvider getReactModuleInfoProvider() {
|
|
33
|
+
return () -> {
|
|
34
|
+
Map<String, ReactModuleInfo> map = new HashMap<>();
|
|
35
|
+
boolean isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
|
|
36
|
+
map.put(ExternalKeyboardModule.NAME, new ReactModuleInfo(
|
|
37
|
+
ExternalKeyboardModule.NAME, // name
|
|
38
|
+
ExternalKeyboardModule.NAME, // className
|
|
39
|
+
false, // canOverrideExistingModule
|
|
40
|
+
false, // needsEagerInit
|
|
41
|
+
false, // isCXXModule
|
|
42
|
+
isTurboModule // isTurboModule
|
|
43
|
+
));
|
|
44
|
+
return map;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
16
47
|
|
|
17
48
|
@Override
|
|
18
49
|
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
|
@@ -24,8 +55,5 @@ public class ExternalKeyboardViewPackage implements ReactPackage {
|
|
|
24
55
|
return viewManagers;
|
|
25
56
|
}
|
|
26
57
|
|
|
27
|
-
|
|
28
|
-
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
|
29
|
-
return new ArrayList<>();
|
|
30
|
-
}
|
|
58
|
+
|
|
31
59
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
package com.externalkeyboard.modules;
|
|
2
|
+
|
|
3
|
+
import android.content.Context;
|
|
4
|
+
import android.view.View;
|
|
5
|
+
import android.view.inputmethod.InputMethodManager;
|
|
6
|
+
|
|
7
|
+
import com.externalkeyboard.ExternalKeyboardModuleSpec;
|
|
8
|
+
import com.facebook.react.bridge.Promise;
|
|
9
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
10
|
+
import com.facebook.react.bridge.ReactMethod;
|
|
11
|
+
|
|
12
|
+
public class ExternalKeyboardModule extends ExternalKeyboardModuleSpec {
|
|
13
|
+
public static final String NAME = "ExternalKeyboardModule";
|
|
14
|
+
private static View focusedView = null;
|
|
15
|
+
private final ReactApplicationContext context;
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
private boolean dismiss() {
|
|
19
|
+
if(focusedView == null) return false;
|
|
20
|
+
try {
|
|
21
|
+
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
|
|
22
|
+
if (imm != null) {
|
|
23
|
+
imm.hideSoftInputFromWindow(focusedView.getWindowToken(), 0);
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
} catch (Exception ignored){}
|
|
27
|
+
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
public static void setFocusedTextInput (View _focusedView) {
|
|
33
|
+
focusedView = _focusedView;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public ExternalKeyboardModule(ReactApplicationContext reactContext) {
|
|
37
|
+
super(reactContext);
|
|
38
|
+
context = reactContext;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@Override
|
|
42
|
+
public String getName() {
|
|
43
|
+
return NAME;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@Override
|
|
47
|
+
@ReactMethod
|
|
48
|
+
public void dismissKeyboard(Promise promise) {
|
|
49
|
+
boolean result = dismiss();
|
|
50
|
+
promise.resolve(result);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
package com.externalkeyboard.views.TextInputFocusWrapper;
|
|
2
2
|
|
|
3
|
+
import static androidx.core.content.ContextCompat.getSystemService;
|
|
4
|
+
|
|
3
5
|
import android.content.Context;
|
|
4
6
|
import android.graphics.Rect;
|
|
5
7
|
import android.text.Editable;
|
|
8
|
+
import android.util.Log;
|
|
9
|
+
import android.view.FocusFinder;
|
|
6
10
|
import android.view.KeyEvent;
|
|
7
11
|
import android.view.View;
|
|
8
12
|
import android.view.ViewGroup;
|
|
13
|
+
import android.view.inputmethod.InputMethodManager;
|
|
9
14
|
import android.widget.EditText;
|
|
10
15
|
|
|
11
16
|
import androidx.annotation.NonNull;
|
|
12
17
|
|
|
13
18
|
import com.externalkeyboard.events.EventHelper;
|
|
19
|
+
import com.externalkeyboard.modules.ExternalKeyboardModule;
|
|
14
20
|
import com.facebook.react.bridge.ReactContext;
|
|
15
21
|
import com.facebook.react.views.textinput.ReactEditText;
|
|
22
|
+
import com.facebook.react.views.textinput.ReactTextInputManager;
|
|
16
23
|
|
|
17
24
|
public class TextInputFocusWrapper extends ViewGroup implements View.OnFocusChangeListener {
|
|
18
25
|
private final Context context;
|
|
@@ -23,6 +30,25 @@ public class TextInputFocusWrapper extends ViewGroup implements View.OnFocusChan
|
|
|
23
30
|
private View.OnAttachStateChangeListener onAttachListener;
|
|
24
31
|
private boolean blurOnSubmit = true;
|
|
25
32
|
private boolean multiline = false;
|
|
33
|
+
private boolean keyboardFocusable = true;
|
|
34
|
+
private Integer planedDirection = null;
|
|
35
|
+
private static View focusedView = null;
|
|
36
|
+
public boolean getIsFocusByPress() {
|
|
37
|
+
return focusType == FOCUS_BY_PRESS;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
public void setKeyboardFocusable (boolean canBeFocusable) {
|
|
41
|
+
if(keyboardFocusable == canBeFocusable) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
keyboardFocusable = canBeFocusable;
|
|
46
|
+
|
|
47
|
+
this.setFocusable(keyboardFocusable);
|
|
48
|
+
if(this.reactEditText != null) {
|
|
49
|
+
this.reactEditText.setFocusable(false);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
26
52
|
|
|
27
53
|
private View.OnAttachStateChangeListener getOnAttachListener() {
|
|
28
54
|
if (onAttachListener == null) {
|
|
@@ -59,6 +85,23 @@ public class TextInputFocusWrapper extends ViewGroup implements View.OnFocusChan
|
|
|
59
85
|
if (focusType == FOCUS_BY_PRESS) {
|
|
60
86
|
this.reactEditText.setFocusable(false);
|
|
61
87
|
}
|
|
88
|
+
OnFocusChangeListener reactListener = this.reactEditText.getOnFocusChangeListener();
|
|
89
|
+
this.reactEditText.setOnFocusChangeListener((textInput, hasTextEditFocus) -> {
|
|
90
|
+
reactListener.onFocusChange(textInput, hasTextEditFocus);
|
|
91
|
+
focusedView = textInput;
|
|
92
|
+
this.focusEventIgnore = false;
|
|
93
|
+
if (focusType != FOCUS_BY_PRESS || !hasTextEditFocus) {
|
|
94
|
+
onFocusChange(textInput, hasTextEditFocus);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if(hasTextEditFocus) {
|
|
98
|
+
ExternalKeyboardModule.setFocusedTextInput(textInput);
|
|
99
|
+
}
|
|
100
|
+
if (!hasTextEditFocus) {
|
|
101
|
+
this.setFocusable(true);
|
|
102
|
+
this.reactEditText.setFocusable(false);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
62
105
|
onMultiplyBlurSubmitHandle();
|
|
63
106
|
} else {
|
|
64
107
|
this.clearEditText();
|
|
@@ -87,6 +130,10 @@ public class TextInputFocusWrapper extends ViewGroup implements View.OnFocusChan
|
|
|
87
130
|
public TextInputFocusWrapper(Context context) {
|
|
88
131
|
super(context);
|
|
89
132
|
this.context = context;
|
|
133
|
+
|
|
134
|
+
if(keyboardFocusable) {
|
|
135
|
+
setFocusable(true);
|
|
136
|
+
}
|
|
90
137
|
}
|
|
91
138
|
|
|
92
139
|
public void setBlurOnSubmit(boolean blurOnSubmit) {
|
|
@@ -109,17 +156,16 @@ public class TextInputFocusWrapper extends ViewGroup implements View.OnFocusChan
|
|
|
109
156
|
return super.onKeyDown(keyCode, event);
|
|
110
157
|
}
|
|
111
158
|
|
|
112
|
-
@Override
|
|
113
159
|
public boolean requestFocus(int direction, Rect previouslyFocusedRect) {
|
|
114
160
|
if ((direction == View.FOCUS_FORWARD || direction == View.FOCUS_BACKWARD) && focusType != FOCUS_BY_PRESS) {
|
|
115
|
-
|
|
116
|
-
|
|
161
|
+
this.handleTextInputFocus();
|
|
162
|
+
return true;
|
|
117
163
|
}
|
|
118
164
|
|
|
119
165
|
return super.requestFocus(direction, previouslyFocusedRect);
|
|
120
166
|
}
|
|
121
167
|
|
|
122
|
-
|
|
168
|
+
private void onMultiplyBlurSubmitHandle() {
|
|
123
169
|
if(this.reactEditText == null) return;
|
|
124
170
|
if(this.multiline) {
|
|
125
171
|
this.reactEditText.setOnKeyListener(new View.OnKeyListener() {
|
|
@@ -144,20 +190,12 @@ public class TextInputFocusWrapper extends ViewGroup implements View.OnFocusChan
|
|
|
144
190
|
|
|
145
191
|
private void handleTextInputFocus() {
|
|
146
192
|
this.focusEventIgnore = true;
|
|
147
|
-
this.reactEditText.setOnFocusChangeListener((textInput, hasTextEditFocus) -> {
|
|
148
|
-
this.focusEventIgnore = false;
|
|
149
|
-
if (focusType != FOCUS_BY_PRESS || !hasTextEditFocus) {
|
|
150
|
-
onFocusChange(textInput, hasTextEditFocus);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
if (!hasTextEditFocus) {
|
|
154
|
-
this.setFocusable(true);
|
|
155
|
-
this.reactEditText.setFocusable(false);
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
this.reactEditText.setFocusable(true);
|
|
159
|
-
this.reactEditText.requestFocusFromJS();
|
|
160
193
|
this.setFocusable(false);
|
|
194
|
+
this.reactEditText.setFocusable(true);
|
|
195
|
+
|
|
196
|
+
if(!this.reactEditText.hasFocus()) {
|
|
197
|
+
this.reactEditText.requestFocusFromJS();
|
|
198
|
+
}
|
|
161
199
|
}
|
|
162
200
|
|
|
163
201
|
@Override
|
|
@@ -8,11 +8,14 @@ import androidx.annotation.Nullable;
|
|
|
8
8
|
|
|
9
9
|
import com.externalkeyboard.events.FocusChangeEvent;
|
|
10
10
|
import com.externalkeyboard.events.MultiplyTextSubmit;
|
|
11
|
+
import com.externalkeyboard.views.ExternalKeyboardView.ExternalKeyboardView;
|
|
12
|
+
import com.facebook.react.bridge.ReadableArray;
|
|
11
13
|
import com.facebook.react.common.MapBuilder;
|
|
12
14
|
import com.facebook.react.module.annotations.ReactModule;
|
|
13
15
|
import com.facebook.react.uimanager.ThemedReactContext;
|
|
14
16
|
import com.facebook.react.uimanager.annotations.ReactProp;
|
|
15
17
|
import com.facebook.react.views.textinput.ReactEditText;
|
|
18
|
+
import com.facebook.react.views.view.ReactViewGroup;
|
|
16
19
|
|
|
17
20
|
import java.util.HashMap;
|
|
18
21
|
import java.util.Map;
|
|
@@ -34,7 +37,6 @@ public class TextInputFocusWrapperManager extends com.externalkeyboard.TextInput
|
|
|
34
37
|
|
|
35
38
|
@Override
|
|
36
39
|
protected void addEventEmitters(final ThemedReactContext reactContext, TextInputFocusWrapper viewGroup) {
|
|
37
|
-
viewGroup.setFocusable(true);
|
|
38
40
|
viewGroup.subscribeOnFocus();
|
|
39
41
|
}
|
|
40
42
|
|
|
@@ -91,7 +93,7 @@ public class TextInputFocusWrapperManager extends com.externalkeyboard.TextInput
|
|
|
91
93
|
@Override
|
|
92
94
|
@ReactProp(name = "canBeFocused", defaultBoolean = true)
|
|
93
95
|
public void setCanBeFocused(TextInputFocusWrapper view, boolean value) {
|
|
94
|
-
view.
|
|
96
|
+
view.setKeyboardFocusable(value);
|
|
95
97
|
}
|
|
96
98
|
|
|
97
99
|
@Override
|
|
@@ -124,7 +126,7 @@ public class TextInputFocusWrapperManager extends com.externalkeyboard.TextInput
|
|
|
124
126
|
|
|
125
127
|
export.put(FocusChangeEvent.EVENT_NAME, createEventMap("onFocusChange"));
|
|
126
128
|
export.put(MultiplyTextSubmit.EVENT_NAME, createEventMap("onMultiplyTextSubmit"));
|
|
127
|
-
|
|
129
|
+
|
|
128
130
|
return export;
|
|
129
131
|
}
|
|
130
132
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
package com.externalkeyboard;
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
4
|
+
|
|
5
|
+
public abstract class ExternalKeyboardModuleSpec extends NativeExternalKeyboardModuleSpec {
|
|
6
|
+
protected ExternalKeyboardModuleSpec(ReactApplicationContext context) {
|
|
7
|
+
super(context);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
package com.externalkeyboard;
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Promise;
|
|
4
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
5
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
6
|
+
|
|
7
|
+
public abstract class ExternalKeyboardModuleSpec extends ReactContextBaseJavaModule {
|
|
8
|
+
protected ExternalKeyboardModuleSpec(ReactApplicationContext context) {
|
|
9
|
+
super(context);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
public abstract void dismissKeyboard(Promise promise);
|
|
13
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNCEKVExternalKeyboardModule.h
|
|
3
|
+
//
|
|
4
|
+
// Copyright © 2022 Facebook. All rights reserved.
|
|
5
|
+
//
|
|
6
|
+
|
|
7
|
+
#ifndef RNCEKVExternalKeyboardModule_h
|
|
8
|
+
#define RNCEKVExternalKeyboardModule_h
|
|
9
|
+
|
|
10
|
+
#import <React/RCTBridgeModule.h>
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@interface RNCEKVExternalKeyboardModule : NSObject <RCTBridgeModule>
|
|
14
|
+
@end
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
#endif /* RNCEKVExternalKeyboardModule_h */
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNCEKVExternalKeyboardModule.m
|
|
3
|
+
// react-native-external-keyboard
|
|
4
|
+
//
|
|
5
|
+
// Created by Artur Kalach on 16/03/2025.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import <Foundation/Foundation.h>
|
|
9
|
+
#import "RNCEKVExternalKeyboardModule.h"
|
|
10
|
+
|
|
11
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
12
|
+
#import "RNExternalKeyboardViewSpec/RNExternalKeyboardViewSpec.h"
|
|
13
|
+
using namespace facebook::react;
|
|
14
|
+
|
|
15
|
+
#endif
|
|
16
|
+
|
|
17
|
+
@implementation RNCEKVExternalKeyboardModule
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
+ (BOOL)requiresMainQueueSetup
|
|
21
|
+
{
|
|
22
|
+
return YES;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
RCT_EXPORT_MODULE(ExternalKeyboardModule);
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
RCT_EXPORT_METHOD(dismissKeyboard) {
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
33
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
34
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
35
|
+
{
|
|
36
|
+
return std::make_shared<facebook::react::NativeExternalKeyboardModuleSpecJSI>(params);
|
|
37
|
+
}
|
|
38
|
+
#endif
|
|
39
|
+
@end
|
|
40
|
+
|
|
@@ -28,11 +28,14 @@ const KeyboardFocusView = exports.KeyboardFocusView = /*#__PURE__*/_react.defaul
|
|
|
28
28
|
haloEffect = true,
|
|
29
29
|
canBeFocused = true,
|
|
30
30
|
focusable = true,
|
|
31
|
+
withView = true,
|
|
32
|
+
//ToDo RNCEKV-9 update and rename Discussion #63
|
|
31
33
|
tintColor,
|
|
32
34
|
onFocus,
|
|
33
35
|
onBlur,
|
|
34
36
|
FocusHoverComponent,
|
|
35
37
|
children,
|
|
38
|
+
accessible,
|
|
36
39
|
...props
|
|
37
40
|
}, ref) => {
|
|
38
41
|
const {
|
|
@@ -63,6 +66,9 @@ const KeyboardFocusView = exports.KeyboardFocusView = /*#__PURE__*/_react.defaul
|
|
|
63
66
|
});
|
|
64
67
|
return undefined;
|
|
65
68
|
}, [FocusHoverComponent, hoverColor, tintType]);
|
|
69
|
+
const a11y = (0, _react.useMemo)(() => {
|
|
70
|
+
return _reactNative.Platform.OS === 'android' && withView && accessible !== false || accessible;
|
|
71
|
+
}, [accessible, withView]);
|
|
66
72
|
return /*#__PURE__*/_react.default.createElement(_IsViewFocusedContext.IsViewFocusedContext.Provider, {
|
|
67
73
|
value: focused
|
|
68
74
|
}, /*#__PURE__*/_react.default.createElement(_BaseKeyboardView.BaseKeyboardView, _extends({
|
|
@@ -79,7 +85,8 @@ const KeyboardFocusView = exports.KeyboardFocusView = /*#__PURE__*/_react.defaul
|
|
|
79
85
|
canBeFocused: canBeFocused,
|
|
80
86
|
focusable: focusable,
|
|
81
87
|
tintColor: tintColor,
|
|
82
|
-
group: group
|
|
88
|
+
group: group,
|
|
89
|
+
accessible: a11y
|
|
83
90
|
}, props), children, focused && HoverComonent && /*#__PURE__*/_react.default.createElement(_RenderPropComponent.RenderPropComponent, {
|
|
84
91
|
render: HoverComonent
|
|
85
92
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_BaseKeyboardView","_RenderPropComponent","_useFocusStyle","_useKeyboardPress","_IsViewFocusedContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","KeyboardFocusView","exports","React","forwardRef","tintType","autoFocus","focusStyle","style","onFocusChange","onPress","onLongPress","onKeyUpPress","onKeyDownPress","group","haloEffect","canBeFocused","focusable","tintColor","onFocus","onBlur","FocusHoverComponent","children","props","ref","focused","containerFocusedStyle","onFocusChangeHandler","hoverColor","useFocusStyle","containerFocusStyle","withHaloEffect","onKeyUpPressHandler","onKeyDownPressHandler","useKeyboardPress","HoverComonent","useMemo","createElement","View","styles","absolute","opacity","undefined","IsViewFocusedContext","Provider","value","BaseKeyboardView","onContextMenuPress","RenderPropComponent","render","StyleSheet","create","position","top","left","right","bottom"],"sourceRoot":"../../../../src","sources":["components/KeyboardFocusView/KeyboardFocusView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAMA,IAAAG,oBAAA,GAAAH,OAAA;AAIA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AAA0E,SAAAO,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAR,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAE,CAAA,IAAAC,CAAA,OAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAD,CAAA,MAAAM,CAAA,CAAAN,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAM,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAEnE,MAAMG,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,gBAAGE,cAAK,CAACC,UAAU,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_BaseKeyboardView","_RenderPropComponent","_useFocusStyle","_useKeyboardPress","_IsViewFocusedContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","KeyboardFocusView","exports","React","forwardRef","tintType","autoFocus","focusStyle","style","onFocusChange","onPress","onLongPress","onKeyUpPress","onKeyDownPress","group","haloEffect","canBeFocused","focusable","withView","tintColor","onFocus","onBlur","FocusHoverComponent","children","accessible","props","ref","focused","containerFocusedStyle","onFocusChangeHandler","hoverColor","useFocusStyle","containerFocusStyle","withHaloEffect","onKeyUpPressHandler","onKeyDownPressHandler","useKeyboardPress","HoverComonent","useMemo","createElement","View","styles","absolute","opacity","undefined","a11y","Platform","OS","IsViewFocusedContext","Provider","value","BaseKeyboardView","onContextMenuPress","RenderPropComponent","render","StyleSheet","create","position","top","left","right","bottom"],"sourceRoot":"../../../../src","sources":["components/KeyboardFocusView/KeyboardFocusView.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -21,6 +21,7 @@ Object.defineProperty(exports, "ExternalKeyboardViewNative", {
|
|
|
21
21
|
return _nativeSpec.ExternalKeyboardViewNative;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
exports.Keyboard = void 0;
|
|
24
25
|
Object.defineProperty(exports, "KeyboardExtendedBaseView", {
|
|
25
26
|
enumerable: true,
|
|
26
27
|
get: function () {
|
|
@@ -94,4 +95,8 @@ var _KeyboardExtendedInput = require("./components/KeyboardExtendedInput/Keyboar
|
|
|
94
95
|
var _KeyboardFocusGroup = require("./components/KeyboardFocusGroup/KeyboardFocusGroup");
|
|
95
96
|
var _withKeyboardFocus = require("./utils/withKeyboardFocus");
|
|
96
97
|
var _IsViewFocusedContext = require("./context/IsViewFocusedContext");
|
|
98
|
+
var Keyboard = _interopRequireWildcard(require("./modules/Keyboard"));
|
|
99
|
+
exports.Keyboard = Keyboard;
|
|
100
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
101
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
97
102
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_nativeSpec","require","_components","_Pressable","_KeyboardExtendedInput","_KeyboardFocusGroup","_withKeyboardFocus","_IsViewFocusedContext"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_nativeSpec","require","_components","_Pressable","_KeyboardExtendedInput","_KeyboardFocusGroup","_withKeyboardFocus","_IsViewFocusedContext","Keyboard","_interopRequireWildcard","exports","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAcA,IAAAC,WAAA,GAAAD,OAAA;AAOA,IAAAE,UAAA,GAAAF,OAAA;AAIA,IAAAG,sBAAA,GAAAH,OAAA;AAIA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAC,uBAAA,CAAAR,OAAA;AAA+CS,OAAA,CAAAF,QAAA,GAAAA,QAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ExternalKeyboard = void 0;
|
|
7
|
+
exports.dismiss = dismiss;
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
const LINKING_ERROR = `The package 'react-native-external-keyboard' doesn't seem to be linked. Make sure: \n\n${_reactNative.Platform.select({
|
|
10
|
+
ios: "- You have run 'pod install'\n",
|
|
11
|
+
default: ''
|
|
12
|
+
})}- You rebuilt the app after installing the package\n` + `- You are not using Expo Go\n`;
|
|
13
|
+
|
|
14
|
+
// @ts-expect-error
|
|
15
|
+
const isTurboModuleEnabled = global.__turboModuleProxy != null;
|
|
16
|
+
const ExternalKeyboardModule = isTurboModuleEnabled ? require('../nativeSpec/NativeExternalKeyboardModule').default : _reactNative.NativeModules.ExternalKeyboardModule;
|
|
17
|
+
const ExternalKeyboard = exports.ExternalKeyboard = ExternalKeyboardModule || new Proxy({}, {
|
|
18
|
+
get() {
|
|
19
|
+
throw new Error(LINKING_ERROR);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
function dismiss() {
|
|
23
|
+
_reactNative.Keyboard.dismiss();
|
|
24
|
+
ExternalKeyboard.dismissKeyboard();
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=Keyboard.android.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","ExternalKeyboardModule","NativeModules","ExternalKeyboard","exports","Proxy","get","Error","dismiss","Keyboard","dismissKeyboard"],"sourceRoot":"../../../src","sources":["modules/Keyboard.android.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACjB,0FAA0FC,qBAAQ,CAACC,MAAM,CACvG;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CACvD,CAAC,sDAAsD,GACvD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAC9D,MAAMC,sBAAsB,GAAGH,oBAAoB,GAC/CN,OAAO,CAAC,4CAA4C,CAAC,CAACK,OAAO,GAC7DK,0BAAa,CAACD,sBAAsB;AAEjC,MAAME,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAC3BF,sBAAsB,IACtB,IAAII,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACd,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEI,SAASe,OAAOA,CAAA,EAAG;EACxBC,qBAAQ,CAACD,OAAO,CAAC,CAAC;EAClBL,gBAAgB,CAACO,eAAe,CAAC,CAAC;AACpC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.dismiss = dismiss;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
function dismiss() {
|
|
9
|
+
_reactNative.Keyboard.dismiss();
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=Keyboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","dismiss","Keyboard"],"sourceRoot":"../../../src","sources":["modules/Keyboard.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,SAASC,OAAOA,CAAA,EAAG;EACxBC,qBAAQ,CAACD,OAAO,CAAC,CAAC;AACpB","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _default = exports.default = _reactNative.TurboModuleRegistry.get('ExternalKeyboardModule');
|
|
9
|
+
//# sourceMappingURL=NativeExternalKeyboardModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["nativeSpec/NativeExternalKeyboardModule.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAMpCC,gCAAmB,CAACC,GAAG,CAAO,wBAAwB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","backgroundTintMap","Platform","select","ios","background","default","DEFAULT_BACKGROUND_TINT","useFocusStyle","focusStyle","onFocusChange","containerFocusStyle","tintColor","tintType","style","Component","withPressedStyle","focused","setFocusStatus","useState","onFocusChangeHandler","useCallback","isFocused","componentFocusedStyle","useMemo","specificStyle","undefined","hoverColor","backgroundColor","containerFocusedStyle","dafaultComponentStyle","styleHandlerPressable","pressed","componentStyleViewStyle","Pressable","exports"],"sourceRoot":"../../../src","sources":["utils/useFocusStyle.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AASA,MAAME,iBAAiB,GAAGC,qBAAQ,CAACC,MAAM,CAAqC;EAC5EC,GAAG,EAAE;IACHC,UAAU,EAAE;EACd,CAAC;EACDC,OAAO,EAAE;IACPD,UAAU,EAAE,IAAI;IAChBC,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAEF,MAAMC,uBAAuB,GAAG,SAAS;AAalC,MAAMC,aAAa,GAAGA,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","backgroundTintMap","Platform","select","ios","background","default","DEFAULT_BACKGROUND_TINT","useFocusStyle","focusStyle","onFocusChange","containerFocusStyle","tintColor","tintType","style","Component","withPressedStyle","focused","setFocusStatus","useState","onFocusChangeHandler","useCallback","isFocused","componentFocusedStyle","useMemo","specificStyle","undefined","hoverColor","backgroundColor","containerFocusedStyle","dafaultComponentStyle","styleHandlerPressable","pressed","componentStyleViewStyle","Pressable","exports"],"sourceRoot":"../../../src","sources":["utils/useFocusStyle.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,6 +38,7 @@ const withKeyboardFocus = Component => {
|
|
|
38
38
|
containerFocusStyle,
|
|
39
39
|
FocusHoverComponent,
|
|
40
40
|
viewRef,
|
|
41
|
+
componentRef,
|
|
41
42
|
haloCornerRadius,
|
|
42
43
|
haloExpendX,
|
|
43
44
|
haloExpendY,
|
|
@@ -109,6 +110,7 @@ const withKeyboardFocus = Component => {
|
|
|
109
110
|
group: group,
|
|
110
111
|
groupIdentifier: groupIdentifier
|
|
111
112
|
}, /*#__PURE__*/_react.default.createElement(Component, _extends({
|
|
113
|
+
ref: componentRef,
|
|
112
114
|
style: componentStyleViewStyle,
|
|
113
115
|
onPress: onPressHandler,
|
|
114
116
|
onLongPress: onLongPress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_components","_useFocusStyle","_RenderPropComponent","_useKeyboardPress","_IsViewFocusedContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","withKeyboardFocus","Component","WithKeyboardFocus","React","memo","forwardRef","tintType","autoFocus","focusStyle","style","containerStyle","onFocusChange","onPress","onLongPress","onKeyUpPress","onKeyDownPress","onPressIn","onPressOut","group","haloEffect","canBeFocused","focusable","tintColor","onFocus","onBlur","containerFocusStyle","FocusHoverComponent","viewRef","haloCornerRadius","haloExpendX","haloExpendY","groupIdentifier","withPressedStyle","props","ref","focused","containerFocusedStyle","componentStyleViewStyle","onFocusChangeHandler","hoverColor","useFocusStyle","withHaloEffect","onKeyUpPressHandler","onKeyDownPressHandler","onPressHandler","useKeyboardPress","HoverComonent","useMemo","createElement","View","styles","absolute","opacity","undefined","onContextMenuHandler","useCallback","IsViewFocusedContext","Provider","value","BaseKeyboardView","onContextMenuPress","RenderPropComponent","render","wrappedComponentName","displayName","name","exports","StyleSheet","create","position","top","left","right","bottom"],"sourceRoot":"../../../src","sources":["utils/withKeyboardFocus.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,WAAA,GAAAF,OAAA;AAGA,IAAAG,cAAA,GAAAH,OAAA;AAEA,IAAAI,oBAAA,GAAAJ,OAAA;AAIA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AAAuE,SAAAO,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAR,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAE,CAAA,IAAAC,CAAA,OAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAD,CAAA,MAAAM,CAAA,CAAAN,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAM,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_components","_useFocusStyle","_RenderPropComponent","_useKeyboardPress","_IsViewFocusedContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","withKeyboardFocus","Component","WithKeyboardFocus","React","memo","forwardRef","tintType","autoFocus","focusStyle","style","containerStyle","onFocusChange","onPress","onLongPress","onKeyUpPress","onKeyDownPress","onPressIn","onPressOut","group","haloEffect","canBeFocused","focusable","tintColor","onFocus","onBlur","containerFocusStyle","FocusHoverComponent","viewRef","componentRef","haloCornerRadius","haloExpendX","haloExpendY","groupIdentifier","withPressedStyle","props","ref","focused","containerFocusedStyle","componentStyleViewStyle","onFocusChangeHandler","hoverColor","useFocusStyle","withHaloEffect","onKeyUpPressHandler","onKeyDownPressHandler","onPressHandler","useKeyboardPress","HoverComonent","useMemo","createElement","View","styles","absolute","opacity","undefined","onContextMenuHandler","useCallback","IsViewFocusedContext","Provider","value","BaseKeyboardView","onContextMenuPress","RenderPropComponent","render","wrappedComponentName","displayName","name","exports","StyleSheet","create","position","top","left","right","bottom"],"sourceRoot":"../../../src","sources":["utils/withKeyboardFocus.tsx"],"mappings":"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","ignoreList":[]}
|