diff --git a/CHANGELOG.md b/CHANGELOG.md index 42a949ee..bb48dc5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,17 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +## [3.0.95] - 2026-08-31 + +### Features +- **device-utils**: Add `setNavigationBarAppearance` so the Android main UI runtime can keep the system navigation bar aligned with the app theme while preserving a cross-platform no-op on iOS. + +### Bug Fixes +- **device-utils (Android)**: Handle bottom and side three-button navigation on Android 15+, remove the protection view in gesture mode, and use a readable black fallback on API 24–25 when dark navigation icons are unavailable. + +### Chores +- Bump all publishable packages to 3.0.95. + ## [3.0.94] - 2026-08-30 ### Bug Fixes diff --git a/native-modules/native-logger/package.json b/native-modules/native-logger/package.json index 58219273..3f90c24c 100644 --- a/native-modules/native-logger/package.json +++ b/native-modules/native-logger/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-native-logger", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-native-logger", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-aes-crypto/package.json b/native-modules/react-native-aes-crypto/package.json index 8a81694c..a2ad0fbe 100644 --- a/native-modules/react-native-aes-crypto/package.json +++ b/native-modules/react-native-aes-crypto/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-aes-crypto", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-aes-crypto", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-app-update/package.json b/native-modules/react-native-app-update/package.json index a0d46a95..cdd89a21 100644 --- a/native-modules/react-native-app-update/package.json +++ b/native-modules/react-native-app-update/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-app-update", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-app-update", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-async-storage/package.json b/native-modules/react-native-async-storage/package.json index ef391f64..8392c044 100644 --- a/native-modules/react-native-async-storage/package.json +++ b/native-modules/react-native-async-storage/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-async-storage", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-async-storage", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-background-thread/package.json b/native-modules/react-native-background-thread/package.json index bfba1bad..7afd6a65 100644 --- a/native-modules/react-native-background-thread/package.json +++ b/native-modules/react-native-background-thread/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-background-thread", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-background-thread", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-bundle-crypto/package.json b/native-modules/react-native-bundle-crypto/package.json index 62cbeb01..ea131271 100644 --- a/native-modules/react-native-bundle-crypto/package.json +++ b/native-modules/react-native-bundle-crypto/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-bundle-crypto", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-bundle-crypto", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-bundle-update/package.json b/native-modules/react-native-bundle-update/package.json index 43eafac3..f0704abe 100644 --- a/native-modules/react-native-bundle-update/package.json +++ b/native-modules/react-native-bundle-update/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-bundle-update", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-bundle-update", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-check-biometric-auth-changed/package.json b/native-modules/react-native-check-biometric-auth-changed/package.json index 7dde4f48..33053988 100644 --- a/native-modules/react-native-check-biometric-auth-changed/package.json +++ b/native-modules/react-native-check-biometric-auth-changed/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-check-biometric-auth-changed", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-check-biometric-auth-changed", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-cloud-fs/package.json b/native-modules/react-native-cloud-fs/package.json index 6cf2ad81..4a51a286 100644 --- a/native-modules/react-native-cloud-fs/package.json +++ b/native-modules/react-native-cloud-fs/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-cloud-fs", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-cloud-fs TurboModule for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-cloud-kit-module/package.json b/native-modules/react-native-cloud-kit-module/package.json index 16f19775..f49f437e 100644 --- a/native-modules/react-native-cloud-kit-module/package.json +++ b/native-modules/react-native-cloud-kit-module/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-cloud-kit-module", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-cloud-kit-module", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-device-utils/android/src/main/java/com/margelo/nitro/reactnativedeviceutils/ReactNativeDeviceUtils.kt b/native-modules/react-native-device-utils/android/src/main/java/com/margelo/nitro/reactnativedeviceutils/ReactNativeDeviceUtils.kt index b871ae6b..732f991b 100644 --- a/native-modules/react-native-device-utils/android/src/main/java/com/margelo/nitro/reactnativedeviceutils/ReactNativeDeviceUtils.kt +++ b/native-modules/react-native-device-utils/android/src/main/java/com/margelo/nitro/reactnativedeviceutils/ReactNativeDeviceUtils.kt @@ -6,10 +6,17 @@ import android.content.pm.PackageManager import android.graphics.Color import android.graphics.Rect import android.os.Build +import android.view.Gravity +import android.view.View +import android.view.ViewGroup +import android.widget.FrameLayout import com.margelo.nitro.nativelogger.OneKeyLog import androidx.preference.PreferenceManager import androidx.core.content.ContextCompat import androidx.core.util.Consumer +import androidx.core.view.ViewCompat +import androidx.core.view.WindowCompat +import androidx.core.view.WindowInsetsCompat import androidx.window.layout.FoldingFeature import androidx.window.layout.WindowInfoTracker import androidx.window.layout.WindowLayoutInfo @@ -28,6 +35,11 @@ data class Listener( val callback: (Boolean) -> Unit ) +private data class NavigationBarAppearance( + val color: Int, + val useDarkIcons: Boolean, +) + @DoNotStrip class ReactNativeDeviceUtils : HybridReactNativeDeviceUtilsSpec(), LifecycleEventListener { @@ -42,6 +54,8 @@ class ReactNativeDeviceUtils : HybridReactNativeDeviceUtilsSpec(), LifecycleEven private const val RECOVERY_PREFS_NAME = "onekey_recovery" private const val BOOT_FAIL_COUNT_KEY = "consecutive_boot_fail_count" private const val RECOVERY_ACTION_KEY = "recovery_action" + private const val NAVIGATION_BAR_PROTECTION_VIEW_TAG = + "com.onekeyfe.reactnativedeviceutils.navigationBarProtection" @JvmStatic var staticStartupTime: Long? = null @@ -237,6 +251,7 @@ class ReactNativeDeviceUtils : HybridReactNativeDeviceUtilsSpec(), LifecycleEven private var isObservingLayoutChanges = false private var nextListenerId = 0.0 private var isDualScreenDeviceDetected: Boolean? = null + @Volatile private var navigationBarAppearance: NavigationBarAppearance? = null init { NitroModules.applicationContext?.let { ctx -> @@ -850,8 +865,161 @@ class ReactNativeDeviceUtils : HybridReactNativeDeviceUtilsSpec(), LifecycleEven } } + // MARK: - System Navigation Bar + + override fun setNavigationBarAppearance( + r: Double, + g: Double, + b: Double, + a: Double, + useDarkIcons: Boolean, + ) { + val requestedColor = Color.argb( + a.toInt().coerceIn(0, 255), + r.toInt().coerceIn(0, 255), + g.toInt().coerceIn(0, 255), + b.toInt().coerceIn(0, 255), + ) + val appearance = NavigationBarAppearance( + color = if ( + Build.VERSION.SDK_INT < Build.VERSION_CODES.O && useDarkIcons + ) Color.BLACK else requestedColor, + useDarkIcons = useDarkIcons, + ) + navigationBarAppearance = appearance + getCurrentActivity()?.let { applyNavigationBarAppearance(it, appearance) } + } + + @Suppress("DEPRECATION") + private fun applyNavigationBarAppearance( + activity: Activity, + appearance: NavigationBarAppearance, + ) { + activity.runOnUiThread { + try { + val window = activity.window + val decorView = window.decorView + + WindowCompat.getInsetsController(window, decorView) + .isAppearanceLightNavigationBars = appearance.useDarkIcons + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + window.isNavigationBarContrastEnforced = false + } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM) { + // Android 15 enforces edge-to-edge. Keep the platform bar transparent + // and draw the requested color only behind three-button navigation. + window.navigationBarColor = Color.TRANSPARENT + installNavigationBarProtection(decorView, appearance.color) + } else { + removeNavigationBarProtection(decorView) + window.navigationBarColor = appearance.color + } + } catch (e: Exception) { + OneKeyLog.error( + "DeviceUtils", + "Failed to update navigation bar appearance: ${e.message}", + ) + } + } + } + + private fun installNavigationBarProtection(decorView: View, color: Int) { + val decorContainer = decorView as? ViewGroup ?: return + val protectionView = findNavigationBarProtection(decorContainer) ?: View( + decorContainer.context + ).also { view -> + view.tag = NAVIGATION_BAR_PROTECTION_VIEW_TAG + view.isClickable = false + view.isFocusable = false + view.importantForAccessibility = View.IMPORTANT_FOR_ACCESSIBILITY_NO + decorContainer.addView( + view, + FrameLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + 0, + Gravity.BOTTOM, + ), + ) + } + + protectionView.setBackgroundColor(color) + protectionView.visibility = View.VISIBLE + protectionView.bringToFront() + ViewCompat.setOnApplyWindowInsetsListener(protectionView) { view, windowInsets -> + val navigationBarInsets = windowInsets.getInsets( + WindowInsetsCompat.Type.navigationBars() + ) + val tappableElementInsets = windowInsets.getInsets( + WindowInsetsCompat.Type.tappableElement() + ) + val leftInset = minOf(navigationBarInsets.left, tappableElementInsets.left) + val rightInset = minOf(navigationBarInsets.right, tappableElementInsets.right) + val bottomInset = minOf(navigationBarInsets.bottom, tappableElementInsets.bottom) + val layoutParams = view.layoutParams as FrameLayout.LayoutParams + val (width, height, gravity) = when { + leftInset > 0 -> Triple( + leftInset, + ViewGroup.LayoutParams.MATCH_PARENT, + Gravity.LEFT, + ) + rightInset > 0 -> Triple( + rightInset, + ViewGroup.LayoutParams.MATCH_PARENT, + Gravity.RIGHT, + ) + bottomInset > 0 -> Triple( + ViewGroup.LayoutParams.MATCH_PARENT, + bottomInset, + Gravity.BOTTOM, + ) + else -> Triple(0, 0, Gravity.BOTTOM) + } + if ( + layoutParams.width != width || + layoutParams.height != height || + layoutParams.gravity != gravity + ) { + layoutParams.width = width + layoutParams.height = height + layoutParams.gravity = gravity + view.layoutParams = layoutParams + } + view.visibility = if ( + leftInset > 0 || rightInset > 0 || bottomInset > 0 + ) View.VISIBLE else View.INVISIBLE + + // This view is only a visual protection; descendants still need the insets. + windowInsets + } + ViewCompat.requestApplyInsets(protectionView) + } + + private fun findNavigationBarProtection(decorContainer: ViewGroup): View? { + for (index in 0 until decorContainer.childCount) { + val child = decorContainer.getChildAt(index) + if (child.tag == NAVIGATION_BAR_PROTECTION_VIEW_TAG) { + return child + } + } + return null + } + + private fun removeNavigationBarProtection(decorView: View) { + val decorContainer = decorView as? ViewGroup ?: return + val protectionView = findNavigationBarProtection(decorContainer) ?: return + ViewCompat.setOnApplyWindowInsetsListener(protectionView, null) + decorContainer.removeView(protectionView) + } + override fun onHostResume() { startObservingLayoutChanges() + val activity = getCurrentActivity() + val appearance = navigationBarAppearance + if (activity != null && appearance != null) { + applyNavigationBarAppearance(activity, appearance) + } } override fun onHostPause() { diff --git a/native-modules/react-native-device-utils/ios/ReactNativeDeviceUtils.swift b/native-modules/react-native-device-utils/ios/ReactNativeDeviceUtils.swift index 0ee36139..acf9fdaf 100644 --- a/native-modules/react-native-device-utils/ios/ReactNativeDeviceUtils.swift +++ b/native-modules/react-native-device-utils/ios/ReactNativeDeviceUtils.swift @@ -163,6 +163,16 @@ class ReactNativeDeviceUtils: HybridReactNativeDeviceUtilsSpec { } } + public func setNavigationBarAppearance( + r: Double, + g: Double, + b: Double, + a: Double, + useDarkIcons: Bool + ) throws -> Void { + // Android-only system UI. + } + // MARK: - LaunchOptionsManager func getLaunchOptions() throws -> Promise { diff --git a/native-modules/react-native-device-utils/package.json b/native-modules/react-native-device-utils/package.json index 64713e97..305e8445 100644 --- a/native-modules/react-native-device-utils/package.json +++ b/native-modules/react-native-device-utils/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-device-utils", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-device-utils", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-device-utils/src/ReactNativeDeviceUtils.nitro.ts b/native-modules/react-native-device-utils/src/ReactNativeDeviceUtils.nitro.ts index 593522b2..d1d41aa5 100644 --- a/native-modules/react-native-device-utils/src/ReactNativeDeviceUtils.nitro.ts +++ b/native-modules/react-native-device-utils/src/ReactNativeDeviceUtils.nitro.ts @@ -48,6 +48,20 @@ export interface ReactNativeDeviceUtils getWindowRects(): Promise; getHingeBounds(): Promise; changeBackgroundColor(r: number, g: number, b: number, a: number): void; + /** + * Updates the Android system navigation bar from the UI runtime. + * Color channels use the [0, 255] range. `useDarkIcons` should be true for + * light backgrounds. Android API 24-25 cannot render dark navigation icons, + * so those versions use an opaque black background fallback when requested. + * This is a no-op on iOS. + */ + setNavigationBarAppearance( + r: number, + g: number, + b: number, + a: number, + useDarkIcons: boolean + ): void; addSpanningChangedListener(callback: (isSpanning: boolean) => void): number; removeSpanningChangedListener(id: number): void; setUserInterfaceStyle(style: UserInterfaceStyle): void; diff --git a/native-modules/react-native-dns-lookup/package.json b/native-modules/react-native-dns-lookup/package.json index ae3311f5..4113a1c1 100644 --- a/native-modules/react-native-dns-lookup/package.json +++ b/native-modules/react-native-dns-lookup/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-dns-lookup", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-dns-lookup", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-get-random-values/package.json b/native-modules/react-native-get-random-values/package.json index e588c600..4eb947a1 100644 --- a/native-modules/react-native-get-random-values/package.json +++ b/native-modules/react-native-get-random-values/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-get-random-values", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-get-random-values", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-keychain-module/package.json b/native-modules/react-native-keychain-module/package.json index 702a3a3b..758a1192 100644 --- a/native-modules/react-native-keychain-module/package.json +++ b/native-modules/react-native-keychain-module/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-keychain-module", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-keychain-module", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-lite-card/package.json b/native-modules/react-native-lite-card/package.json index 5ffe5666..71765cff 100644 --- a/native-modules/react-native-lite-card/package.json +++ b/native-modules/react-native-lite-card/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-lite-card", - "version": "3.0.94", + "version": "3.0.95", "description": "lite card", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-network-info/package.json b/native-modules/react-native-network-info/package.json index afcaf957..2fca038a 100644 --- a/native-modules/react-native-network-info/package.json +++ b/native-modules/react-native-network-info/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-network-info", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-network-info", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-network-throttle/package.json b/native-modules/react-native-network-throttle/package.json index 0f93b69e..6af390fc 100644 --- a/native-modules/react-native-network-throttle/package.json +++ b/native-modules/react-native-network-throttle/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-network-throttle", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-network-throttle", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-pbkdf2/package.json b/native-modules/react-native-pbkdf2/package.json index 0aec7035..47dc3dab 100644 --- a/native-modules/react-native-pbkdf2/package.json +++ b/native-modules/react-native-pbkdf2/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-pbkdf2", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-pbkdf2", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-perf-memory/package.json b/native-modules/react-native-perf-memory/package.json index 1425f27a..0fd268bd 100644 --- a/native-modules/react-native-perf-memory/package.json +++ b/native-modules/react-native-perf-memory/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perf-memory", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-perf-memory", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-perf-stats/package.json b/native-modules/react-native-perf-stats/package.json index c85c7099..0c1290a6 100644 --- a/native-modules/react-native-perf-stats/package.json +++ b/native-modules/react-native-perf-stats/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perf-stats", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-perf-stats", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-ping/package.json b/native-modules/react-native-ping/package.json index d3249065..ef78414d 100644 --- a/native-modules/react-native-ping/package.json +++ b/native-modules/react-native-ping/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-ping", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-ping TurboModule for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-range-downloader/package.json b/native-modules/react-native-range-downloader/package.json index f3e55458..4ee6d8cb 100644 --- a/native-modules/react-native-range-downloader/package.json +++ b/native-modules/react-native-range-downloader/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-range-downloader", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-range-downloader", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-sni-connect/package.json b/native-modules/react-native-sni-connect/package.json index 00669361..7ce6bc9a 100644 --- a/native-modules/react-native-sni-connect/package.json +++ b/native-modules/react-native-sni-connect/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-sni-connect", - "version": "3.0.94", + "version": "3.0.95", "description": "A React Native library for SNI-based HTTP requests with DNS caching and request management", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-splash-screen/package.json b/native-modules/react-native-splash-screen/package.json index 9d7549c3..f32af721 100644 --- a/native-modules/react-native-splash-screen/package.json +++ b/native-modules/react-native-splash-screen/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-splash-screen", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-splash-screen", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-split-bundle-loader/package.json b/native-modules/react-native-split-bundle-loader/package.json index de6f6131..2bf95a2c 100644 --- a/native-modules/react-native-split-bundle-loader/package.json +++ b/native-modules/react-native-split-bundle-loader/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-split-bundle-loader", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-split-bundle-loader", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-tcp-socket/package.json b/native-modules/react-native-tcp-socket/package.json index 2e990507..9cde557d 100644 --- a/native-modules/react-native-tcp-socket/package.json +++ b/native-modules/react-native-tcp-socket/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-tcp-socket", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-tcp-socket", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-modules/react-native-zip-archive/package.json b/native-modules/react-native-zip-archive/package.json index 7ba9df01..c74c557f 100644 --- a/native-modules/react-native-zip-archive/package.json +++ b/native-modules/react-native-zip-archive/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-zip-archive", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-zip-archive Nitro HybridObject for OneKey", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-auto-size-input/package.json b/native-views/react-native-auto-size-input/package.json index 53f2fda4..2acf09ef 100644 --- a/native-views/react-native-auto-size-input/package.json +++ b/native-views/react-native-auto-size-input/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-auto-size-input", - "version": "3.0.94", + "version": "3.0.95", "description": "Auto-sizing text input with font scaling, prefix and suffix support", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-chart-webview/package.json b/native-views/react-native-chart-webview/package.json index 230a32b1..78a3bdd0 100644 --- a/native-views/react-native-chart-webview/package.json +++ b/native-views/react-native-chart-webview/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-chart-webview", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-chart-webview", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-pager-view/package.json b/native-views/react-native-pager-view/package.json index d589c467..71c74d21 100644 --- a/native-views/react-native-pager-view/package.json +++ b/native-views/react-native-pager-view/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-pager-view", - "version": "3.0.94", + "version": "3.0.95", "description": "React Native wrapper for Android and iOS ViewPager", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-perp-depth-bar/package.json b/native-views/react-native-perp-depth-bar/package.json index 7c8ecb4c..609ef97f 100644 --- a/native-views/react-native-perp-depth-bar/package.json +++ b/native-views/react-native-perp-depth-bar/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-perp-depth-bar", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-perp-depth-bar", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-scroll-guard/package.json b/native-views/react-native-scroll-guard/package.json index c755a399..e530b2b1 100644 --- a/native-views/react-native-scroll-guard/package.json +++ b/native-views/react-native-scroll-guard/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-scroll-guard", - "version": "3.0.94", + "version": "3.0.95", "description": "A native view wrapper that prevents parent scrollable containers (PagerView/ViewPager2) from intercepting child scroll gestures", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-segment-slider/package.json b/native-views/react-native-segment-slider/package.json index 2a7e76b4..4c1f2714 100644 --- a/native-views/react-native-segment-slider/package.json +++ b/native-views/react-native-segment-slider/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-segment-slider", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-segment-slider", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-skeleton/package.json b/native-views/react-native-skeleton/package.json index 25c35039..6c72996f 100644 --- a/native-views/react-native-skeleton/package.json +++ b/native-views/react-native-skeleton/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-skeleton", - "version": "3.0.94", + "version": "3.0.95", "description": "react-native-skeleton", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", diff --git a/native-views/react-native-tab-view/package.json b/native-views/react-native-tab-view/package.json index cee8b4e5..8525c6bd 100644 --- a/native-views/react-native-tab-view/package.json +++ b/native-views/react-native-tab-view/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-tab-view", - "version": "3.0.94", + "version": "3.0.95", "description": "Native Bottom Tabs for React Native (UIKit implementation)", "source": "./src/index.tsx", "main": "./lib/module/index.js", diff --git a/native-views/react-native-text-input/package.json b/native-views/react-native-text-input/package.json index d1162805..2e620bde 100644 --- a/native-views/react-native-text-input/package.json +++ b/native-views/react-native-text-input/package.json @@ -1,6 +1,6 @@ { "name": "@onekeyfe/react-native-text-input", - "version": "3.0.94", + "version": "3.0.95", "description": "React Native TextInput with native paste events", "source": "./src/index.tsx", "main": "./lib/module/index.js",