Add expo-keyboard-language native module

New Expo module that exposes keyboard language detection via a node
handle. On iOS it resolves the React Native view tag to the underlying
UITextField/UITextView and returns textInputMode.primaryLanguage (BCP 47
tag). Android and web return null for now.

https://claude.ai/code/session_01AMCp4M56WtFPz1pZtwgcvx
This commit is contained in:
Claude
2026-02-28 14:49:15 +00:00
parent 6cdc1fe2b5
commit 3ca5a865a1
9 changed files with 132 additions and 0 deletions
@@ -0,0 +1,39 @@
apply plugin: 'com.android.library'
group = 'expo.modules.keyboardlanguage'
version = '1.0.0'
def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
apply from: expoModulesCorePlugin
applyKotlinExpoModulesCorePlugin()
useCoreDependencies()
useExpoPublishing()
def useManagedAndroidSdkVersions = false
if (useManagedAndroidSdkVersions) {
useDefaultAndroidSdkVersions()
} else {
buildscript {
ext.safeExtGet = { prop, fallback ->
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}
}
project.android {
compileSdkVersion safeExtGet("compileSdkVersion", 34)
defaultConfig {
minSdkVersion safeExtGet("minSdkVersion", 21)
targetSdkVersion safeExtGet("targetSdkVersion", 34)
}
}
}
android {
namespace "expo.modules.keyboardlanguage"
defaultConfig {
versionCode 1
versionName "1.0.0"
}
lintOptions {
abortOnError false
}
}