uilib-native 3.0.4 → 3.0.5
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/android/build/.transforms/{6a4a003a5436f1cfa6c642f89a88b8f1.bin → 7b85a4cb719e06b1cadba5128a161508/results.bin} +0 -0
- package/android/build/.transforms/7b85a4cb719e06b1cadba5128a161508/transformed/classes/classes.dex +0 -0
- package/android/build/.transforms/faa2afe0bc7898c632042480c288ecc2/results.bin +1 -0
- package/android/build/.transforms/faa2afe0bc7898c632042480c288ecc2/transformed/classes/classes.dex +0 -0
- package/android/build/generated/source/buildConfig/debug/com/wix/reactnativeuilib/BuildConfig.java +0 -8
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +3 -5
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +16 -0
- package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +2 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/R.txt +1865 -0
- package/android/build/intermediates/compiled_local_resources/debug/out/layout_wheel_picker.xml.flat +0 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +1 -1
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +1 -1
- package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +1 -1
- package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +2 -2
- package/android/build/intermediates/incremental/packageDebugResources/merger.xml +2 -2
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/BuildConfig.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/UiLibPackageList.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlightFrame.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlightViewTagParams.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterView.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterViewPackage.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/ReactHacks.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/ReflectionUtils.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/UiUtils.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/AppContextHolder$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/AppContextHolder.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$2.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$3.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$4.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$5.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewManager.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewShadow.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor$Listener.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor$2.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor$Listener.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/PredicateFunc.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils$2.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils$VisibleViewClassMatchPredicate.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/DefaultKeyListener.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/KeyListenerProxy.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerModule$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerModule.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerPackage.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/ViewUtils.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/utils/LogForwarder$LogType.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/utils/LogForwarder.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPicker$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPicker.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPickerManager.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPickerPackage.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/{parseDebugLibraryResources/R-def.txt → R-def.txt} +0 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +9 -11
- package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +9 -0
- package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
- package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +16 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/{res/symbol-table-with-package → symbol_list_with_package_name}/debug/package-aware-r.txt +66 -8
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +18 -30
- package/android/build/tmp/compileDebugJavaWithJavac/source-classes-mapping.txt +83 -0
- package/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java +41 -17
- package/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java +12 -0
- package/components/{HighlighterOverlayView.js → HighlighterOverlayView.tsx} +40 -46
- package/components/Keyboard/KeyboardInput/{CustomKeyboardView.android.js → CustomKeyboardView/CustomKeyboardView.android.tsx} +9 -14
- package/components/Keyboard/KeyboardInput/{CustomKeyboardView.ios.js → CustomKeyboardView/CustomKeyboardView.ios.tsx} +20 -21
- package/components/Keyboard/KeyboardInput/CustomKeyboardView/index.tsx +16 -0
- package/components/Keyboard/KeyboardInput/{CustomKeyboardViewBase.js → CustomKeyboardViewBase.tsx} +26 -20
- package/components/Keyboard/KeyboardInput/{KeyboardAccessoryView.js → KeyboardAccessoryView.tsx} +110 -99
- package/components/Keyboard/KeyboardInput/{KeyboardRegistry.js → KeyboardRegistry.ts} +10 -10
- package/components/Keyboard/KeyboardInput/{TextInputKeyboardManager.android.js → TextInputKeyboardManager/TextInputKeyboardManager.android.ts} +0 -0
- package/components/Keyboard/KeyboardInput/{TextInputKeyboardManager.ios.js → TextInputKeyboardManager/TextInputKeyboardManager.ios.ts} +5 -4
- package/components/Keyboard/KeyboardInput/TextInputKeyboardManager/index.ts +9 -0
- package/components/Keyboard/KeyboardInput/utils/{EventEmitterManager.js → EventEmitterManager.ts} +5 -4
- package/components/Keyboard/KeyboardInput/utils/{KeyboardUtils.js → KeyboardUtils.ts} +0 -0
- package/components/Keyboard/KeyboardTracking/{KeyboardAwareInsetsView.js → KeyboardAwareInsetsView.tsx} +3 -4
- package/components/Keyboard/KeyboardTracking/{KeyboardTrackingView.android.js → KeyboardTrackingView/KeyboardTrackingView.android.tsx} +1 -0
- package/components/Keyboard/KeyboardTracking/{KeyboardTrackingView.ios.js → KeyboardTrackingView/KeyboardTrackingView.ios.tsx} +8 -14
- package/components/Keyboard/KeyboardTracking/KeyboardTrackingView/index.tsx +50 -0
- package/components/Keyboard/index.ts +15 -0
- package/components/SafeArea/{SafeAreaInsetsManager.js → SafeAreaInsetsManager.ts} +10 -7
- package/components/SafeArea/SafeAreaSpacerView.tsx +19 -0
- package/components/WheelPicker/WheelPickerItem.tsx +21 -0
- package/components/WheelPicker/{index.js → index.tsx} +58 -38
- package/components/index.ts +14 -0
- package/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m +20 -2
- package/package.json +1 -1
- package/android/.gradle/5.6.1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/5.6.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/5.6.1/gc.properties +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/codeStyles/Project.xml +0 -116
- package/android/.idea/encodings.xml +0 -4
- package/android/.idea/gradle.xml +0 -12
- package/android/.idea/misc.xml +0 -9
- package/android/.idea/modules.xml +0 -8
- package/android/.idea/runConfigurations.xml +0 -12
- package/android/.idea/vcs.xml +0 -6
- package/android/.idea/workspace.xml +0 -547
- package/android/android.iml +0 -18
- package/android/build/.transforms/6a4a003a5436f1cfa6c642f89a88b8f1/classes/classes.dex +0 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
- package/android/build/intermediates/compile_library_classes/debug/classes.jar +0 -0
- package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar +0 -0
- package/android/build/intermediates/incremental/debug-mergeNativeLibs/merge-state +0 -0
- package/android/build/intermediates/library_java_res/debug/res.jar +0 -0
- package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -11
- package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
- package/android/build/intermediates/runtime_library_classes/debug/classes.jar +0 -0
- package/android/build/intermediates/symbols/debug/R.txt +0 -1801
- package/android/local.properties +0 -8
- package/android/react-native-ui-lib.iml +0 -144
- package/components/Keyboard/index.js +0 -7
- package/components/SafeArea/SafeAreaSpacerView.js +0 -16
- package/components/WheelPicker/WheelPickerItem.js +0 -21
- package/components/index.js +0 -17
- package/ios/reactnativeuilib.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/reactnativeuilib.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/reactnativeuilib.xcodeproj/project.xcworkspace/xcuserdata/michaelle.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/reactnativeuilib.xcodeproj/xcuserdata/michaelle.xcuserdatad/xcschemes/xcschememanagement.plist +0 -19
package/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
package com.wix.reactnativeuilib.keyboardinput;
|
|
2
2
|
|
|
3
|
+
import android.app.Activity;
|
|
3
4
|
import android.content.Context;
|
|
4
5
|
import android.view.View;
|
|
5
6
|
import android.view.Window;
|
|
@@ -24,6 +25,8 @@ public class CustomKeyboardLayout implements ReactSoftKeyboardMonitor.Listener,
|
|
|
24
25
|
private final InputMethodManager mInputMethodManager;
|
|
25
26
|
private final ReactSoftKeyboardMonitor mKeyboardMonitor;
|
|
26
27
|
private WeakReference<CustomKeyboardRootViewShadow> mShadowNode = new WeakReference<>(null);
|
|
28
|
+
private int mSoftInputMode;
|
|
29
|
+
private boolean mIsShown = false;
|
|
27
30
|
|
|
28
31
|
public CustomKeyboardLayout(ReactContext reactContext, ReactSoftKeyboardMonitor keyboardMonitor, ReactScreenMonitor screenMonitor) {
|
|
29
32
|
mKeyboardMonitor = keyboardMonitor;
|
|
@@ -33,6 +36,18 @@ public class CustomKeyboardLayout implements ReactSoftKeyboardMonitor.Listener,
|
|
|
33
36
|
screenMonitor.addListener(this);
|
|
34
37
|
}
|
|
35
38
|
|
|
39
|
+
public void setShown(boolean isShown) {
|
|
40
|
+
mIsShown = isShown;
|
|
41
|
+
Window window = getWindow();
|
|
42
|
+
if (window != null) {
|
|
43
|
+
if (mIsShown) {
|
|
44
|
+
mSoftInputMode = window.getAttributes().softInputMode;
|
|
45
|
+
} else {
|
|
46
|
+
window.setSoftInputMode(mSoftInputMode);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
36
51
|
@Override
|
|
37
52
|
public void onSoftKeyboardVisible(boolean distinct) {
|
|
38
53
|
if (distinct) {
|
|
@@ -75,14 +90,17 @@ public class CustomKeyboardLayout implements ReactSoftKeyboardMonitor.Listener,
|
|
|
75
90
|
runOnUIThread(new Runnable() {
|
|
76
91
|
@Override
|
|
77
92
|
public void run() {
|
|
78
|
-
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
Activity currentActivity = getCurrentActivity();
|
|
94
|
+
if (currentActivity != null) {
|
|
95
|
+
final View focusedView = currentActivity.getCurrentFocus();
|
|
96
|
+
if (focusedView instanceof EditText) {
|
|
97
|
+
showSoftKeyboard();
|
|
98
|
+
} else {
|
|
99
|
+
hideCustomKeyboardContent();
|
|
100
|
+
clearKeyboardOverlayMode();
|
|
101
|
+
}
|
|
102
|
+
promise.resolve(null);
|
|
84
103
|
}
|
|
85
|
-
promise.resolve(null);
|
|
86
104
|
}
|
|
87
105
|
});
|
|
88
106
|
}
|
|
@@ -91,9 +109,12 @@ public class CustomKeyboardLayout implements ReactSoftKeyboardMonitor.Listener,
|
|
|
91
109
|
runOnUIThread(new Runnable() {
|
|
92
110
|
@Override
|
|
93
111
|
public void run() {
|
|
94
|
-
|
|
95
|
-
if (
|
|
96
|
-
focusedView.
|
|
112
|
+
Activity currentActivity = getCurrentActivity();
|
|
113
|
+
if (currentActivity != null) {
|
|
114
|
+
final View focusedView = currentActivity.getCurrentFocus();
|
|
115
|
+
if (focusedView != null) {
|
|
116
|
+
focusedView.clearFocus();
|
|
117
|
+
}
|
|
97
118
|
}
|
|
98
119
|
}
|
|
99
120
|
});
|
|
@@ -167,16 +188,19 @@ public class CustomKeyboardLayout implements ReactSoftKeyboardMonitor.Listener,
|
|
|
167
188
|
}
|
|
168
189
|
|
|
169
190
|
private void setKeyboardOverlayMode() {
|
|
170
|
-
|
|
171
|
-
if (window != null) {
|
|
172
|
-
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
|
|
173
|
-
}
|
|
191
|
+
setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
|
|
174
192
|
}
|
|
175
193
|
|
|
176
194
|
private void clearKeyboardOverlayMode() {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
195
|
+
setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
private void setSoftInputMode(int softInputMode) {
|
|
199
|
+
if (mIsShown) {
|
|
200
|
+
Window window = getWindow();
|
|
201
|
+
if (window != null) {
|
|
202
|
+
window.setSoftInputMode(softInputMode);
|
|
203
|
+
}
|
|
180
204
|
}
|
|
181
205
|
}
|
|
182
206
|
|
package/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java
CHANGED
|
@@ -24,4 +24,16 @@ public class CustomKeyboardRootView extends FrameLayout {
|
|
|
24
24
|
}
|
|
25
25
|
super.onViewAdded(child);
|
|
26
26
|
}
|
|
27
|
+
|
|
28
|
+
@Override
|
|
29
|
+
protected void onAttachedToWindow() {
|
|
30
|
+
super.onAttachedToWindow();
|
|
31
|
+
mLayout.setShown(true);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@Override
|
|
35
|
+
protected void onDetachedFromWindow() {
|
|
36
|
+
mLayout.setShown(false);
|
|
37
|
+
super.onDetachedFromWindow();
|
|
38
|
+
}
|
|
27
39
|
}
|
|
@@ -1,11 +1,41 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
3
|
-
import {requireNativeComponent, processColor, Platform, StyleSheet, Modal} from 'react-native';
|
|
2
|
+
import {requireNativeComponent, processColor, Platform, StyleSheet, Modal, ViewStyle} from 'react-native';
|
|
4
3
|
|
|
5
|
-
const NativeHighlighterView = requireNativeComponent('HighlighterView'
|
|
4
|
+
const NativeHighlighterView = requireNativeComponent('HighlighterView');
|
|
6
5
|
const DefaultOverlayColor = 'rgba(0, 0, 0, 0.5)';
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
type HighlightFrameType = {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
type HighlightViewTagParams = {
|
|
15
|
+
padding: number | ViewStyle['padding'];
|
|
16
|
+
offset: Pick<HighlightFrameType, 'x' | 'y'>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type HighlighterOverlayViewProps = {
|
|
20
|
+
visible: boolean;
|
|
21
|
+
overlayColor?: string;
|
|
22
|
+
borderRadius?: number;
|
|
23
|
+
strokeColor?: string;
|
|
24
|
+
strokeWidth?: number;
|
|
25
|
+
onRequestClose?: () => void;
|
|
26
|
+
highlightFrame?: HighlightFrameType;
|
|
27
|
+
style?: ViewStyle;
|
|
28
|
+
highlightViewTag?: number | null;
|
|
29
|
+
children?: JSX.Element[] | JSX.Element;
|
|
30
|
+
highlightViewTagParams?: HighlightViewTagParams;
|
|
31
|
+
minimumRectSize?: Pick<HighlightFrameType, 'width' | 'height'>;
|
|
32
|
+
innerPadding?: number;
|
|
33
|
+
accessible?: boolean;
|
|
34
|
+
testID?: string;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
const HighlighterOverlayView = (props: HighlighterOverlayViewProps) => {
|
|
9
39
|
const {
|
|
10
40
|
overlayColor,
|
|
11
41
|
borderRadius,
|
|
@@ -19,13 +49,15 @@ const HighlighterOverlayView = (props) => {
|
|
|
19
49
|
highlightViewTag,
|
|
20
50
|
highlightViewTagParams,
|
|
21
51
|
minimumRectSize,
|
|
22
|
-
innerPadding
|
|
52
|
+
innerPadding
|
|
23
53
|
} = props;
|
|
24
54
|
|
|
25
55
|
let overlayColorToUse = overlayColor || DefaultOverlayColor;
|
|
26
56
|
let strokeColorToUse = strokeColor;
|
|
27
57
|
if (Platform.OS === 'android') {
|
|
58
|
+
// @ts-ignore
|
|
28
59
|
overlayColorToUse = processColor(overlayColorToUse);
|
|
60
|
+
// @ts-ignore
|
|
29
61
|
strokeColorToUse = processColor(strokeColorToUse);
|
|
30
62
|
}
|
|
31
63
|
|
|
@@ -34,9 +66,10 @@ const HighlighterOverlayView = (props) => {
|
|
|
34
66
|
visible={!!(visible)}
|
|
35
67
|
animationType={'fade'}
|
|
36
68
|
transparent
|
|
37
|
-
onRequestClose={() => onRequestClose
|
|
69
|
+
onRequestClose={() => onRequestClose?.()}
|
|
38
70
|
>
|
|
39
71
|
<NativeHighlighterView
|
|
72
|
+
// @ts-ignore, this became private, not sure if I should remove it
|
|
40
73
|
highlightFrame={highlightFrame}
|
|
41
74
|
style={[style, {...StyleSheet.absoluteFillObject, backgroundColor: 'transparent'}]}
|
|
42
75
|
overlayColor={overlayColorToUse}
|
|
@@ -53,44 +86,5 @@ const HighlighterOverlayView = (props) => {
|
|
|
53
86
|
);
|
|
54
87
|
};
|
|
55
88
|
|
|
56
|
-
HighlighterOverlayView.
|
|
57
|
-
overlayColor: PropTypes.string,
|
|
58
|
-
borderRadius: PropTypes.number,
|
|
59
|
-
strokeColor: PropTypes.string,
|
|
60
|
-
strokeWidth: PropTypes.number,
|
|
61
|
-
visible: PropTypes.bool.isRequired,
|
|
62
|
-
onRequestClose: PropTypes.func,
|
|
63
|
-
highlightFrame: PropTypes.shape({
|
|
64
|
-
x: PropTypes.number,
|
|
65
|
-
y: PropTypes.number,
|
|
66
|
-
width: PropTypes.number,
|
|
67
|
-
height: PropTypes.number,
|
|
68
|
-
}),
|
|
69
|
-
style: PropTypes.oneOfType([PropTypes.object, PropTypes.number, PropTypes.array]),
|
|
70
|
-
highlightViewTag: PropTypes.number,
|
|
71
|
-
children: PropTypes.oneOfType([
|
|
72
|
-
PropTypes.arrayOf(PropTypes.node),
|
|
73
|
-
PropTypes.node,
|
|
74
|
-
]),
|
|
75
|
-
highlightViewTagParams: PropTypes.shape({
|
|
76
|
-
padding: PropTypes.oneOfType([
|
|
77
|
-
PropTypes.number,
|
|
78
|
-
PropTypes.shape({
|
|
79
|
-
top: PropTypes.number,
|
|
80
|
-
left: PropTypes.number,
|
|
81
|
-
bottom: PropTypes.number,
|
|
82
|
-
right: PropTypes.number}),
|
|
83
|
-
]),
|
|
84
|
-
offset: PropTypes.shape({
|
|
85
|
-
x: PropTypes.number,
|
|
86
|
-
y: PropTypes.number,
|
|
87
|
-
}),
|
|
88
|
-
}),
|
|
89
|
-
minimumRectSize: PropTypes.shape({
|
|
90
|
-
width: PropTypes.number,
|
|
91
|
-
height: PropTypes.number,
|
|
92
|
-
}),
|
|
93
|
-
innerPadding: PropTypes.number,
|
|
94
|
-
};
|
|
95
|
-
|
|
89
|
+
HighlighterOverlayView.displayName = 'IGNORE';
|
|
96
90
|
export default HighlighterOverlayView;
|
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
import {requireNativeComponent} from 'react-native';
|
|
4
|
-
import TextInputKeyboardManager from '
|
|
5
|
-
import KeyboardRegistry from '
|
|
6
|
-
import CustomKeyboardViewBase from '
|
|
3
|
+
import TextInputKeyboardManager from '../TextInputKeyboardManager/TextInputKeyboardManager.android';
|
|
4
|
+
import KeyboardRegistry from '../KeyboardRegistry';
|
|
5
|
+
import CustomKeyboardViewBase, {CustomKeyboardViewBaseProps} from '../CustomKeyboardViewBase';
|
|
7
6
|
|
|
8
7
|
const CustomKeyboardViewNativeAndroid = requireNativeComponent('CustomKeyboardViewNativeTemp');
|
|
9
8
|
|
|
10
|
-
export default class CustomKeyboardView extends CustomKeyboardViewBase {
|
|
11
|
-
static
|
|
12
|
-
initialProps: PropTypes.object,
|
|
13
|
-
component: PropTypes.string,
|
|
14
|
-
onItemSelected: PropTypes.func
|
|
15
|
-
};
|
|
9
|
+
export default class CustomKeyboardView extends CustomKeyboardViewBase<CustomKeyboardViewBaseProps> {
|
|
10
|
+
static displayName = 'IGNORE';
|
|
16
11
|
|
|
17
|
-
async
|
|
18
|
-
const {component} =
|
|
12
|
+
async componentDidUpdate(prevProps: CustomKeyboardViewBaseProps) {
|
|
13
|
+
const {component} = this.props;
|
|
19
14
|
|
|
20
|
-
if (
|
|
15
|
+
if (prevProps.component !== component && !component) {
|
|
21
16
|
await TextInputKeyboardManager.reset();
|
|
22
17
|
}
|
|
23
18
|
|
|
24
|
-
|
|
19
|
+
super.componentDidUpdate(prevProps);
|
|
25
20
|
}
|
|
26
21
|
|
|
27
22
|
render() {
|
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import CustomKeyboardViewBase from './CustomKeyboardViewBase';
|
|
1
|
+
import TextInputKeyboardManager from './../TextInputKeyboardManager/TextInputKeyboardManager.ios';
|
|
2
|
+
import KeyboardRegistry from './../KeyboardRegistry';
|
|
3
|
+
import CustomKeyboardViewBase, {CustomKeyboardViewBaseProps} from './../CustomKeyboardViewBase';
|
|
5
4
|
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
};
|
|
5
|
+
export type CustomKeyboardViewProps = CustomKeyboardViewBaseProps & {
|
|
6
|
+
/**
|
|
7
|
+
* The reference to the actual text input (or the keyboard may not reset when instructed to, etc.)
|
|
8
|
+
*/
|
|
9
|
+
inputRef?: any;
|
|
10
|
+
useSafeArea?: boolean;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default class CustomKeyboardView extends CustomKeyboardViewBase<CustomKeyboardViewProps> {
|
|
14
|
+
static displayName = 'IGNORE';
|
|
17
15
|
|
|
18
16
|
static defaultProps = {
|
|
17
|
+
initialProps: {},
|
|
19
18
|
useSafeArea: true
|
|
20
19
|
};
|
|
21
20
|
|
|
22
|
-
constructor(props) {
|
|
21
|
+
constructor(props: CustomKeyboardViewProps) {
|
|
23
22
|
super(props);
|
|
24
23
|
|
|
25
24
|
const {component} = props;
|
|
@@ -27,7 +26,7 @@ export default class CustomKeyboardView extends CustomKeyboardViewBase {
|
|
|
27
26
|
this.registeredRequestShowKeyboard = false;
|
|
28
27
|
}
|
|
29
28
|
|
|
30
|
-
KeyboardRegistry.addListener('onToggleExpandedKeyboard', args => {
|
|
29
|
+
KeyboardRegistry.addListener('onToggleExpandedKeyboard', (args: any) => {
|
|
31
30
|
const {inputRef, initialProps} = this.props;
|
|
32
31
|
if (inputRef) {
|
|
33
32
|
if (this.keyboardExpandedToggle[args.keyboardId] === undefined) {
|
|
@@ -46,9 +45,9 @@ export default class CustomKeyboardView extends CustomKeyboardViewBase {
|
|
|
46
45
|
super.componentWillUnmount();
|
|
47
46
|
}
|
|
48
47
|
|
|
49
|
-
|
|
50
|
-
const {inputRef: nextInputRef, component: nextComponent, initialProps: nextInitialProps, useSafeArea} =
|
|
51
|
-
const {component} =
|
|
48
|
+
componentDidUpdate(prevProps: CustomKeyboardViewProps) {
|
|
49
|
+
const {inputRef: nextInputRef, component: nextComponent, initialProps: nextInitialProps, useSafeArea} = this.props;
|
|
50
|
+
const {component} = prevProps;
|
|
52
51
|
|
|
53
52
|
if (nextInputRef && nextComponent !== component) {
|
|
54
53
|
if (nextComponent) {
|
|
@@ -62,7 +61,7 @@ export default class CustomKeyboardView extends CustomKeyboardViewBase {
|
|
|
62
61
|
}
|
|
63
62
|
}
|
|
64
63
|
|
|
65
|
-
|
|
64
|
+
super.componentDidUpdate(prevProps);
|
|
66
65
|
}
|
|
67
66
|
|
|
68
67
|
render() {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {Platform} from 'react-native';
|
|
3
|
+
import {default as CustomKeyboardViewIOS, CustomKeyboardViewProps} from './CustomKeyboardView.ios';
|
|
4
|
+
import {default as CustomKeyboardViewAndroid} from './CustomKeyboardView.android';
|
|
5
|
+
|
|
6
|
+
const IsAndroid = Platform.OS === 'android';
|
|
7
|
+
|
|
8
|
+
const CustomKeyboardView = (props: CustomKeyboardViewProps) => {
|
|
9
|
+
const Container = IsAndroid ? CustomKeyboardViewAndroid : CustomKeyboardViewIOS;
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
<Container {...props}/>
|
|
13
|
+
);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default CustomKeyboardView;
|
package/components/Keyboard/KeyboardInput/{CustomKeyboardViewBase.js → CustomKeyboardViewBase.tsx}
RENAMED
|
@@ -1,32 +1,37 @@
|
|
|
1
|
-
import {Component} from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
1
|
+
import React, {Component} from 'react';
|
|
3
2
|
import KeyboardRegistry from './KeyboardRegistry';
|
|
3
|
+
import {EventSubscription} from 'react-native';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
export type CustomKeyboardViewBaseProps = {
|
|
6
|
+
inputRef?: any;
|
|
7
|
+
initialProps?: any;
|
|
8
|
+
component?: string;
|
|
9
|
+
onItemSelected?: (component?: string, args?: any) => void;
|
|
10
|
+
onRequestShowKeyboard?: (keyboardId: string) => void;
|
|
11
|
+
children?: React.ReactChild | React.ReactChild[];
|
|
12
|
+
};
|
|
11
13
|
|
|
14
|
+
export default class CustomKeyboardViewBase<T extends CustomKeyboardViewBaseProps> extends Component<T> {
|
|
12
15
|
static defaultProps = {
|
|
13
16
|
initialProps: {}
|
|
14
17
|
};
|
|
15
18
|
|
|
16
|
-
|
|
19
|
+
registeredRequestShowKeyboard = false;
|
|
20
|
+
keyboardExpandedToggle: any;
|
|
21
|
+
keyboardEventListeners: EventSubscription[] = [];
|
|
22
|
+
|
|
23
|
+
constructor(props: T) {
|
|
17
24
|
super(props);
|
|
18
25
|
|
|
19
26
|
const {component, onItemSelected} = props;
|
|
20
27
|
if (component) {
|
|
21
28
|
this.addOnItemSelectListener(onItemSelected, component);
|
|
22
|
-
|
|
23
|
-
this.registeredRequestShowKeyboard = false;
|
|
24
29
|
}
|
|
25
30
|
|
|
26
31
|
this.keyboardExpandedToggle = {};
|
|
27
32
|
}
|
|
28
33
|
|
|
29
|
-
shouldComponentUpdate(nextProps) {
|
|
34
|
+
shouldComponentUpdate(nextProps: T) {
|
|
30
35
|
return nextProps.component !== this.props.component;
|
|
31
36
|
}
|
|
32
37
|
|
|
@@ -35,7 +40,7 @@ export default class CustomKeyboardViewBase extends Component {
|
|
|
35
40
|
KeyboardRegistry.removeListeners('onRequestShowKeyboard');
|
|
36
41
|
|
|
37
42
|
if (this.keyboardEventListeners) {
|
|
38
|
-
this.keyboardEventListeners.forEach(eventListener => eventListener.remove());
|
|
43
|
+
this.keyboardEventListeners.forEach((eventListener: EventSubscription) => eventListener.remove());
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
if (component) {
|
|
@@ -43,28 +48,29 @@ export default class CustomKeyboardViewBase extends Component {
|
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
50
|
|
|
46
|
-
addOnItemSelectListener(onItemSelected,
|
|
51
|
+
addOnItemSelectListener(onItemSelected: CustomKeyboardViewBaseProps['onItemSelected'],
|
|
52
|
+
component: CustomKeyboardViewBaseProps['component']) {
|
|
47
53
|
if (onItemSelected) {
|
|
48
|
-
KeyboardRegistry.addListener(`${component}.onItemSelected`, args => {
|
|
54
|
+
KeyboardRegistry.addListener(`${component}.onItemSelected`, (args: any) => {
|
|
49
55
|
onItemSelected(component, args);
|
|
50
56
|
});
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
59
|
|
|
54
|
-
|
|
55
|
-
const {onRequestShowKeyboard} =
|
|
60
|
+
componentDidUpdate(prevProps: T) {
|
|
61
|
+
const {onRequestShowKeyboard} = this.props;
|
|
56
62
|
|
|
57
63
|
if (onRequestShowKeyboard && !this.registeredRequestShowKeyboard) {
|
|
58
64
|
this.registeredRequestShowKeyboard = true;
|
|
59
|
-
KeyboardRegistry.addListener('onRequestShowKeyboard', args => {
|
|
65
|
+
KeyboardRegistry.addListener('onRequestShowKeyboard', (args: any) => {
|
|
60
66
|
onRequestShowKeyboard(args.keyboardId);
|
|
61
67
|
});
|
|
62
68
|
}
|
|
63
69
|
|
|
64
|
-
this.registerListener(this.props
|
|
70
|
+
this.registerListener(prevProps, this.props);
|
|
65
71
|
}
|
|
66
72
|
|
|
67
|
-
registerListener(props, nextProps) {
|
|
73
|
+
registerListener(props: T, nextProps: T) {
|
|
68
74
|
const {component, onItemSelected} = nextProps;
|
|
69
75
|
if (component && props.component !== component) {
|
|
70
76
|
if (props.component) {
|