react-native-keyboard-controller 1.19.2 → 1.19.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.
|
@@ -30,11 +30,7 @@ public extension Optional where Wrapped == UIResponder {
|
|
|
30
30
|
guard let superview = (self as? UIView)?.superview else { return nil }
|
|
31
31
|
|
|
32
32
|
#if KEYBOARD_CONTROLLER_NEW_ARCH_ENABLED
|
|
33
|
-
|
|
34
|
-
return (superview as NSObject).value(forKey: "nativeId") as? String
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return nil
|
|
33
|
+
return superview.safeValue(forKey: "nativeId") as? String
|
|
38
34
|
#else
|
|
39
35
|
return superview.nativeID
|
|
40
36
|
#endif
|
|
@@ -11,10 +11,13 @@ import UIKit
|
|
|
11
11
|
|
|
12
12
|
public extension UITextInput {
|
|
13
13
|
var canSelectionFitIntoLayout: Bool {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
if let selfObj = self as? NSObject,
|
|
15
|
+
let delegate = selfObj.safeValue(forKey: "textInputDelegate") as? NSObject,
|
|
16
|
+
let comingFromJS = delegate.safeValue(forKey: "_comingFromJS") as? Bool,
|
|
17
|
+
comingFromJS
|
|
18
|
+
{
|
|
19
|
+
return false
|
|
20
|
+
}
|
|
18
21
|
|
|
19
22
|
guard let selectedRange = selectedTextRange else { return false }
|
|
20
23
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//
|
|
2
|
+
// NSObject+SafeKVC.m
|
|
3
|
+
// KeyboardController
|
|
4
|
+
//
|
|
5
|
+
// Created by Kiryl Ziusko on 26/10/2025.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import "NSObject+SafeKVC.h"
|
|
9
|
+
|
|
10
|
+
@implementation NSObject (SafeKVC)
|
|
11
|
+
- (id)_safeValueForKey:(NSString *)key
|
|
12
|
+
{
|
|
13
|
+
@try {
|
|
14
|
+
return [self valueForKey:key];
|
|
15
|
+
} @catch (NSException *exception) {
|
|
16
|
+
return nil;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
@end
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-keyboard-controller",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.3",
|
|
4
4
|
"description": "Keyboard manager which works in identical way on both iOS and Android",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"test": "jest",
|
|
41
41
|
"typescript": "tsc --noEmit --project tsconfig.build.json",
|
|
42
42
|
"lint": "eslint --quiet \"**/*.{js,ts,tsx}\"",
|
|
43
|
-
"lint-clang": "find ios/ -iname *.h -o -iname *.m -o -iname *.mm | grep -v -e Pods -e build | xargs clang-format -i
|
|
43
|
+
"lint-clang": "find ios/ -iname *.h -o -iname *.m -o -iname *.mm | grep -v -e Pods -e build | xargs clang-format -i --Werror",
|
|
44
44
|
"prepare": "bob build > /dev/null 2>&1",
|
|
45
45
|
"release": "release-it",
|
|
46
46
|
"example": "yarn --cwd example",
|