expo-navigation-bar 5.0.10-canary-20251120-e46b3cc → 5.0.10

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +3 -3
  2. package/android/build.gradle +4 -4
  3. package/build/NavigationBar.d.ts +1 -1
  4. package/build/NavigationBar.js +1 -1
  5. package/build/NavigationBar.js.map +1 -1
  6. package/expo-module.config.json +1 -1
  7. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.module → 5.0.10/expo.modules.navigationbar-5.0.10.module} +10 -10
  8. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10/expo.modules.navigationbar-5.0.10.module.md5 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10/expo.modules.navigationbar-5.0.10.module.sha1 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10/expo.modules.navigationbar-5.0.10.module.sha256 +1 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10/expo.modules.navigationbar-5.0.10.module.sha512 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.pom → 5.0.10/expo.modules.navigationbar-5.0.10.pom} +3 -3
  13. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10/expo.modules.navigationbar-5.0.10.pom.md5 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10/expo.modules.navigationbar-5.0.10.pom.sha1 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10/expo.modules.navigationbar-5.0.10.pom.sha256 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10/expo.modules.navigationbar-5.0.10.pom.sha512 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/maven-metadata.xml +4 -4
  18. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/maven-metadata.xml.md5 +1 -1
  19. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/maven-metadata.xml.sha1 +1 -1
  20. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/maven-metadata.xml.sha256 +1 -1
  21. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/maven-metadata.xml.sha512 +1 -1
  22. package/package.json +6 -5
  23. package/src/NavigationBar.ts +1 -1
  24. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.module.md5 +0 -1
  25. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.module.sha1 +0 -1
  26. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.module.sha256 +0 -1
  27. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.module.sha512 +0 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.pom.md5 +0 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.pom.sha1 +0 -1
  30. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.pom.sha256 +0 -1
  31. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.pom.sha512 +0 -1
  32. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc-sources.jar → 5.0.10/expo.modules.navigationbar-5.0.10-sources.jar} +0 -0
  33. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc-sources.jar.md5 → 5.0.10/expo.modules.navigationbar-5.0.10-sources.jar.md5} +0 -0
  34. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc-sources.jar.sha1 → 5.0.10/expo.modules.navigationbar-5.0.10-sources.jar.sha1} +0 -0
  35. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc-sources.jar.sha256 → 5.0.10/expo.modules.navigationbar-5.0.10-sources.jar.sha256} +0 -0
  36. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc-sources.jar.sha512 → 5.0.10/expo.modules.navigationbar-5.0.10-sources.jar.sha512} +0 -0
  37. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.aar → 5.0.10/expo.modules.navigationbar-5.0.10.aar} +0 -0
  38. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.aar.md5 → 5.0.10/expo.modules.navigationbar-5.0.10.aar.md5} +0 -0
  39. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.aar.sha1 → 5.0.10/expo.modules.navigationbar-5.0.10.aar.sha1} +0 -0
  40. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.aar.sha256 → 5.0.10/expo.modules.navigationbar-5.0.10.aar.sha256} +0 -0
  41. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{5.0.10-canary-20251120-e46b3cc/expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.aar.sha512 → 5.0.10/expo.modules.navigationbar-5.0.10.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,11 +10,11 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
- ### ⚠️ Notices
13
+ ## 5.0.10 — 2025-12-05
14
14
 
15
- - Added support for React Native 0.82.x. ([#39678](https://github.com/expo/expo/pull/39678) by [@gabrieldonadel](https://github.com/gabrieldonadel))
15
+ _This version does not introduce any user-facing changes._
16
16
 
17
- ## 5.0.9 - 2025-10-21
17
+ ## 5.0.9 2025-10-21
18
18
 
19
19
  _This version does not introduce any user-facing changes._
20
20
 
@@ -4,17 +4,17 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '5.0.10-canary-20251120-e46b3cc'
7
+ version = '5.0.10'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.navigationbar"
11
11
  defaultConfig {
12
12
  versionCode 1
13
- versionName '5.0.10-canary-20251120-e46b3cc'
13
+ versionName '5.0.10'
14
14
  }
15
15
  }
16
16
 
17
17
  dependencies {
18
- implementation 'androidx.core:core:1.17.0'
19
- implementation 'androidx.appcompat:appcompat:1.7.1'
18
+ implementation 'androidx.core:core:1.6.0'
19
+ implementation 'androidx.appcompat:appcompat:1.2.0'
20
20
  }
@@ -78,7 +78,7 @@ export declare function setVisibilityAsync(visibility: NavigationBarVisibility):
78
78
  *
79
79
  * @example
80
80
  * ```ts
81
- * const visibility = await NavigationBar.getVisibilityAsync();
81
+ * const visibility = await NavigationBar.getVisibilityAsync("hidden");
82
82
  * ```
83
83
  * @returns Navigation bar's current visibility status. Returns `hidden` on unsupported platforms (iOS, web).
84
84
  */
@@ -92,7 +92,7 @@ export async function setVisibilityAsync(visibility) {
92
92
  *
93
93
  * @example
94
94
  * ```ts
95
- * const visibility = await NavigationBar.getVisibilityAsync();
95
+ * const visibility = await NavigationBar.getVisibilityAsync("hidden");
96
96
  * ```
97
97
  * @returns Navigation bar's current visibility status. Returns `hidden` on unsupported platforms (iOS, web).
98
98
  */
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationBar.js","sourceRoot":"","sources":["../src/NavigationBar.ts"],"names":[],"mappings":"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","sourcesContent":["import { type EventSubscription, UnavailabilityError } from 'expo-modules-core';\nimport { useEffect, useState } from 'react';\n\nimport type {\n NavigationBarBehavior,\n NavigationBarButtonStyle,\n NavigationBarPosition,\n NavigationBarStyle,\n NavigationBarVisibility,\n NavigationBarVisibilityEvent,\n} from './NavigationBar.types';\n\n/**\n * Observe changes to the system navigation bar.\n * Due to platform constraints, this callback will also be triggered when the status bar visibility changes.\n *\n * @example\n * ```ts\n * NavigationBar.addVisibilityListener(({ visibility }) => {\n * // ...\n * });\n * ```\n */\nexport function addVisibilityListener(\n listener: (event: NavigationBarVisibilityEvent) => void\n): EventSubscription {\n throw new UnavailabilityError('NavigationBar', 'addVisibilityListener');\n}\n\n/**\n * Changes the navigation bar's background color.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * NavigationBar.setBackgroundColorAsync(\"white\");\n * ```\n * @param color Any valid [CSS 3 (SVG) color](http://www.w3.org/TR/css3-color/#svg-color).\n */\nexport async function setBackgroundColorAsync(color: string): Promise<void> {\n console.warn('`setBackgroundColorAsync` is only available on Android');\n}\n\n/**\n * Gets the navigation bar's background color.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * const color = await NavigationBar.getBackgroundColorAsync();\n * ```\n * @returns Current navigation bar color in hex format. Returns `#00000000` (transparent) on unsupported platforms (iOS, web).\n *\n */\nexport async function getBackgroundColorAsync(): Promise<string> {\n console.warn('`getBackgroundColorAsync` is only available on Android');\n return `#00000000`;\n}\n\n/**\n * Changes the navigation bar's border color.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * NavigationBar.setBorderColorAsync(\"red\");\n * ```\n * @param color Any valid [CSS 3 (SVG) color](http://www.w3.org/TR/css3-color/#svg-color).\n */\nexport async function setBorderColorAsync(color: string): Promise<void> {\n console.warn('`setBorderColorAsync` is only available on Android');\n}\n\n/**\n * Gets the navigation bar's top border color, also known as the \"divider color\".\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * const color = await NavigationBar.getBorderColorAsync();\n * ```\n * @returns Navigation bar top border color in hex format. Returns `#00000000` (transparent) on unsupported platforms (iOS, web).\n */\nexport async function getBorderColorAsync(): Promise<string> {\n console.warn('`getBorderColorAsync` is only available on Android');\n return `#00000000`;\n}\n\n/**\n * Set the navigation bar's visibility.\n *\n * @example\n * ```ts\n * NavigationBar.setVisibilityAsync(\"hidden\");\n * ```\n * @param visibility Based on CSS visibility property.\n * @platform android\n */\nexport async function setVisibilityAsync(visibility: NavigationBarVisibility): Promise<void> {\n console.warn('`setVisibilityAsync` is only available on Android');\n}\n\n/**\n * Get the navigation bar's visibility.\n *\n *\n * @example\n * ```ts\n * const visibility = await NavigationBar.getVisibilityAsync();\n * ```\n * @returns Navigation bar's current visibility status. Returns `hidden` on unsupported platforms (iOS, web).\n */\nexport async function getVisibilityAsync(): Promise<NavigationBarVisibility> {\n console.warn('`getVisibilityAsync` is only available on Android');\n return 'hidden';\n}\n\n/**\n * Changes the navigation bar's button colors between white (`light`) and a dark gray color (`dark`).\n *\n * @example\n * ```ts\n * NavigationBar.setButtonStyleAsync(\"light\");\n * ```\n * @param style Dictates the color of the foreground element color.\n */\nexport async function setButtonStyleAsync(style: NavigationBarButtonStyle): Promise<void> {\n console.warn('`setButtonStyleAsync` is only available on Android');\n}\n\n/**\n * Gets the navigation bar's button color styles.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * const style = await NavigationBar.getButtonStyleAsync();\n * ```\n * @returns Navigation bar foreground element color settings. Returns `light` on unsupported platforms (iOS, web).\n */\nexport async function getButtonStyleAsync(): Promise<NavigationBarButtonStyle> {\n console.warn('`getButtonStyleAsync` is only available on Android');\n return 'light';\n}\n\n/**\n * Sets positioning method used for the navigation bar (and status bar).\n * Setting position `absolute` will float the navigation bar above the content,\n * whereas position `relative` will shrink the screen to inline the navigation bar.\n *\n * When drawing behind the status and navigation bars, ensure the safe area insets are adjusted accordingly.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * // enables edge-to-edge mode\n * await NavigationBar.setPositionAsync('absolute')\n * // transparent backgrounds to see through\n * await NavigationBar.setBackgroundColorAsync('#ffffff00')\n * ```\n * @param position Based on CSS position property.\n */\nexport async function setPositionAsync(position: NavigationBarPosition): Promise<void> {\n console.warn('`setPositionAsync` is only available on Android');\n}\n\n/**\n * Whether the navigation and status bars float above the app (absolute) or sit inline with it (relative).\n * This value can be incorrect if `androidNavigationBar.visible` is used instead of the config plugin `position` property.\n *\n * This method is unstable because the position can be set via another native module and get out of sync.\n * Alternatively, you can get the position by measuring the insets returned by `react-native-safe-area-context`.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * await NavigationBar.unstable_getPositionAsync()\n * ```\n * @returns Navigation bar positional rendering mode. Returns `relative` on unsupported platforms (iOS, web).\n */\nexport async function unstable_getPositionAsync(): Promise<NavigationBarPosition> {\n console.warn('`unstable_getPositionAsync` is only available on Android');\n return 'relative';\n}\n\n/**\n * Sets the behavior of the status bar and navigation bar when they are hidden and the user wants to reveal them.\n *\n * For example, if the navigation bar is hidden (`setVisibilityAsync(false)`) and the behavior\n * is `'overlay-swipe'`, the user can swipe from the bottom of the screen to temporarily reveal the navigation bar.\n *\n * - `'overlay-swipe'`: Temporarily reveals the System UI after a swipe gesture (bottom or top) without insetting your App's content.\n * - `'inset-swipe'`: Reveals the System UI after a swipe gesture (bottom or top) and insets your App's content (Safe Area). The System UI is visible until you explicitly hide it again.\n * - `'inset-touch'`: Reveals the System UI after a touch anywhere on the screen and insets your App's content (Safe Area). The System UI is visible until you explicitly hide it again.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * await NavigationBar.setBehaviorAsync('overlay-swipe')\n * ```\n * @param behavior Dictates the interaction behavior of the navigation bar.\n */\nexport async function setBehaviorAsync(behavior: NavigationBarBehavior): Promise<void> {\n console.warn('`setBehaviorAsync` is only available on Android');\n}\n\n/**\n * Gets the behavior of the status and navigation bars when the user swipes or touches the screen.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * await NavigationBar.getBehaviorAsync()\n * ```\n * @returns Navigation bar interaction behavior. Returns `inset-touch` on unsupported platforms (iOS, web).\n */\nexport async function getBehaviorAsync(): Promise<NavigationBarBehavior> {\n console.warn('`getBehaviorAsync` is only available on Android');\n return 'inset-touch';\n}\n\n/**\n * Sets the style of the navigation bar.\n * > This will have an effect when the following conditions are met:\n * > - Edge-to-edge is enabled\n * > - The `enforceNavigationBarContrast` option of the `react-native-edge-to-edge` plugin is set to `false`.\n * > - The device is using the three-button navigation bar.\n *\n * > Due to a bug in the Android 15 emulator this function may have no effect. Try a physical device or an emulator with a different version of Android.\n *\n * @platform android\n */\nexport function setStyle(style: NavigationBarStyle) {\n console.warn('`setStyle` method is only available on Android');\n}\n\n/**\n * React hook that statefully updates with the visibility of the system navigation bar.\n *\n * @example\n * ```ts\n * function App() {\n * const visibility = NavigationBar.useVisibility()\n * // React Component...\n * }\n * ```\n * @returns Visibility of the navigation bar, `null` during async initialization.\n */\nexport function useVisibility(): NavigationBarVisibility | null {\n const [visibility, setVisible] = useState<NavigationBarVisibility | null>(null);\n\n useEffect(() => {\n setVisible('hidden');\n }, []);\n\n return visibility;\n}\n"]}
1
+ {"version":3,"file":"NavigationBar.js","sourceRoot":"","sources":["../src/NavigationBar.ts"],"names":[],"mappings":"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","sourcesContent":["import { type EventSubscription, UnavailabilityError } from 'expo-modules-core';\nimport { useEffect, useState } from 'react';\n\nimport type {\n NavigationBarBehavior,\n NavigationBarButtonStyle,\n NavigationBarPosition,\n NavigationBarStyle,\n NavigationBarVisibility,\n NavigationBarVisibilityEvent,\n} from './NavigationBar.types';\n\n/**\n * Observe changes to the system navigation bar.\n * Due to platform constraints, this callback will also be triggered when the status bar visibility changes.\n *\n * @example\n * ```ts\n * NavigationBar.addVisibilityListener(({ visibility }) => {\n * // ...\n * });\n * ```\n */\nexport function addVisibilityListener(\n listener: (event: NavigationBarVisibilityEvent) => void\n): EventSubscription {\n throw new UnavailabilityError('NavigationBar', 'addVisibilityListener');\n}\n\n/**\n * Changes the navigation bar's background color.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * NavigationBar.setBackgroundColorAsync(\"white\");\n * ```\n * @param color Any valid [CSS 3 (SVG) color](http://www.w3.org/TR/css3-color/#svg-color).\n */\nexport async function setBackgroundColorAsync(color: string): Promise<void> {\n console.warn('`setBackgroundColorAsync` is only available on Android');\n}\n\n/**\n * Gets the navigation bar's background color.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * const color = await NavigationBar.getBackgroundColorAsync();\n * ```\n * @returns Current navigation bar color in hex format. Returns `#00000000` (transparent) on unsupported platforms (iOS, web).\n *\n */\nexport async function getBackgroundColorAsync(): Promise<string> {\n console.warn('`getBackgroundColorAsync` is only available on Android');\n return `#00000000`;\n}\n\n/**\n * Changes the navigation bar's border color.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * NavigationBar.setBorderColorAsync(\"red\");\n * ```\n * @param color Any valid [CSS 3 (SVG) color](http://www.w3.org/TR/css3-color/#svg-color).\n */\nexport async function setBorderColorAsync(color: string): Promise<void> {\n console.warn('`setBorderColorAsync` is only available on Android');\n}\n\n/**\n * Gets the navigation bar's top border color, also known as the \"divider color\".\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * const color = await NavigationBar.getBorderColorAsync();\n * ```\n * @returns Navigation bar top border color in hex format. Returns `#00000000` (transparent) on unsupported platforms (iOS, web).\n */\nexport async function getBorderColorAsync(): Promise<string> {\n console.warn('`getBorderColorAsync` is only available on Android');\n return `#00000000`;\n}\n\n/**\n * Set the navigation bar's visibility.\n *\n * @example\n * ```ts\n * NavigationBar.setVisibilityAsync(\"hidden\");\n * ```\n * @param visibility Based on CSS visibility property.\n * @platform android\n */\nexport async function setVisibilityAsync(visibility: NavigationBarVisibility): Promise<void> {\n console.warn('`setVisibilityAsync` is only available on Android');\n}\n\n/**\n * Get the navigation bar's visibility.\n *\n *\n * @example\n * ```ts\n * const visibility = await NavigationBar.getVisibilityAsync(\"hidden\");\n * ```\n * @returns Navigation bar's current visibility status. Returns `hidden` on unsupported platforms (iOS, web).\n */\nexport async function getVisibilityAsync(): Promise<NavigationBarVisibility> {\n console.warn('`getVisibilityAsync` is only available on Android');\n return 'hidden';\n}\n\n/**\n * Changes the navigation bar's button colors between white (`light`) and a dark gray color (`dark`).\n *\n * @example\n * ```ts\n * NavigationBar.setButtonStyleAsync(\"light\");\n * ```\n * @param style Dictates the color of the foreground element color.\n */\nexport async function setButtonStyleAsync(style: NavigationBarButtonStyle): Promise<void> {\n console.warn('`setButtonStyleAsync` is only available on Android');\n}\n\n/**\n * Gets the navigation bar's button color styles.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * const style = await NavigationBar.getButtonStyleAsync();\n * ```\n * @returns Navigation bar foreground element color settings. Returns `light` on unsupported platforms (iOS, web).\n */\nexport async function getButtonStyleAsync(): Promise<NavigationBarButtonStyle> {\n console.warn('`getButtonStyleAsync` is only available on Android');\n return 'light';\n}\n\n/**\n * Sets positioning method used for the navigation bar (and status bar).\n * Setting position `absolute` will float the navigation bar above the content,\n * whereas position `relative` will shrink the screen to inline the navigation bar.\n *\n * When drawing behind the status and navigation bars, ensure the safe area insets are adjusted accordingly.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * // enables edge-to-edge mode\n * await NavigationBar.setPositionAsync('absolute')\n * // transparent backgrounds to see through\n * await NavigationBar.setBackgroundColorAsync('#ffffff00')\n * ```\n * @param position Based on CSS position property.\n */\nexport async function setPositionAsync(position: NavigationBarPosition): Promise<void> {\n console.warn('`setPositionAsync` is only available on Android');\n}\n\n/**\n * Whether the navigation and status bars float above the app (absolute) or sit inline with it (relative).\n * This value can be incorrect if `androidNavigationBar.visible` is used instead of the config plugin `position` property.\n *\n * This method is unstable because the position can be set via another native module and get out of sync.\n * Alternatively, you can get the position by measuring the insets returned by `react-native-safe-area-context`.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * await NavigationBar.unstable_getPositionAsync()\n * ```\n * @returns Navigation bar positional rendering mode. Returns `relative` on unsupported platforms (iOS, web).\n */\nexport async function unstable_getPositionAsync(): Promise<NavigationBarPosition> {\n console.warn('`unstable_getPositionAsync` is only available on Android');\n return 'relative';\n}\n\n/**\n * Sets the behavior of the status bar and navigation bar when they are hidden and the user wants to reveal them.\n *\n * For example, if the navigation bar is hidden (`setVisibilityAsync(false)`) and the behavior\n * is `'overlay-swipe'`, the user can swipe from the bottom of the screen to temporarily reveal the navigation bar.\n *\n * - `'overlay-swipe'`: Temporarily reveals the System UI after a swipe gesture (bottom or top) without insetting your App's content.\n * - `'inset-swipe'`: Reveals the System UI after a swipe gesture (bottom or top) and insets your App's content (Safe Area). The System UI is visible until you explicitly hide it again.\n * - `'inset-touch'`: Reveals the System UI after a touch anywhere on the screen and insets your App's content (Safe Area). The System UI is visible until you explicitly hide it again.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * await NavigationBar.setBehaviorAsync('overlay-swipe')\n * ```\n * @param behavior Dictates the interaction behavior of the navigation bar.\n */\nexport async function setBehaviorAsync(behavior: NavigationBarBehavior): Promise<void> {\n console.warn('`setBehaviorAsync` is only available on Android');\n}\n\n/**\n * Gets the behavior of the status and navigation bars when the user swipes or touches the screen.\n *\n * > This method is supported only when edge-to-edge is disabled.\n *\n * @example\n * ```ts\n * await NavigationBar.getBehaviorAsync()\n * ```\n * @returns Navigation bar interaction behavior. Returns `inset-touch` on unsupported platforms (iOS, web).\n */\nexport async function getBehaviorAsync(): Promise<NavigationBarBehavior> {\n console.warn('`getBehaviorAsync` is only available on Android');\n return 'inset-touch';\n}\n\n/**\n * Sets the style of the navigation bar.\n * > This will have an effect when the following conditions are met:\n * > - Edge-to-edge is enabled\n * > - The `enforceNavigationBarContrast` option of the `react-native-edge-to-edge` plugin is set to `false`.\n * > - The device is using the three-button navigation bar.\n *\n * > Due to a bug in the Android 15 emulator this function may have no effect. Try a physical device or an emulator with a different version of Android.\n *\n * @platform android\n */\nexport function setStyle(style: NavigationBarStyle) {\n console.warn('`setStyle` method is only available on Android');\n}\n\n/**\n * React hook that statefully updates with the visibility of the system navigation bar.\n *\n * @example\n * ```ts\n * function App() {\n * const visibility = NavigationBar.useVisibility()\n * // React Component...\n * }\n * ```\n * @returns Visibility of the navigation bar, `null` during async initialization.\n */\nexport function useVisibility(): NavigationBarVisibility | null {\n const [visibility, setVisible] = useState<NavigationBarVisibility | null>(null);\n\n useEffect(() => {\n setVisible('hidden');\n }, []);\n\n return visibility;\n}\n"]}
@@ -5,7 +5,7 @@
5
5
  "publication": {
6
6
  "groupId": "host.exp.exponent",
7
7
  "artifactId": "expo.modules.navigationbar",
8
- "version": "5.0.10-canary-20251120-e46b3cc",
8
+ "version": "5.0.10",
9
9
  "repository": "local-maven-repo"
10
10
  }
11
11
  }
@@ -3,14 +3,14 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.navigationbar",
6
- "version": "5.0.10-canary-20251120-e46b3cc",
6
+ "version": "5.0.10",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
10
10
  },
11
11
  "createdBy": {
12
12
  "gradle": {
13
- "version": "9.0.0"
13
+ "version": "8.14.3"
14
14
  }
15
15
  },
16
16
  "variants": [
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.aar",
28
- "url": "expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.aar",
27
+ "name": "expo.modules.navigationbar-5.0.10.aar",
28
+ "url": "expo.modules.navigationbar-5.0.10.aar",
29
29
  "size": 50051,
30
30
  "sha512": "f629d818df940bcf9ca30e8db00e076eb33855324dab80dda0affc35218a06176792073f65311270e9e8e7a9ddccc03f4e83e2c70b4126cd1c270494b25a01a8",
31
31
  "sha256": "961a70573c8281e4e9103d747132ad7e2628f751b1fb24b02e87d0c787ced4d7",
@@ -54,21 +54,21 @@
54
54
  "group": "androidx.core",
55
55
  "module": "core",
56
56
  "version": {
57
- "requires": "1.17.0"
57
+ "requires": "1.6.0"
58
58
  }
59
59
  },
60
60
  {
61
61
  "group": "androidx.appcompat",
62
62
  "module": "appcompat",
63
63
  "version": {
64
- "requires": "1.7.1"
64
+ "requires": "1.2.0"
65
65
  }
66
66
  }
67
67
  ],
68
68
  "files": [
69
69
  {
70
- "name": "expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.aar",
71
- "url": "expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc.aar",
70
+ "name": "expo.modules.navigationbar-5.0.10.aar",
71
+ "url": "expo.modules.navigationbar-5.0.10.aar",
72
72
  "size": 50051,
73
73
  "sha512": "f629d818df940bcf9ca30e8db00e076eb33855324dab80dda0affc35218a06176792073f65311270e9e8e7a9ddccc03f4e83e2c70b4126cd1c270494b25a01a8",
74
74
  "sha256": "961a70573c8281e4e9103d747132ad7e2628f751b1fb24b02e87d0c787ced4d7",
@@ -87,8 +87,8 @@
87
87
  },
88
88
  "files": [
89
89
  {
90
- "name": "expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc-sources.jar",
91
- "url": "expo.modules.navigationbar-5.0.10-canary-20251120-e46b3cc-sources.jar",
90
+ "name": "expo.modules.navigationbar-5.0.10-sources.jar",
91
+ "url": "expo.modules.navigationbar-5.0.10-sources.jar",
92
92
  "size": 5746,
93
93
  "sha512": "b062a1e85ccee489c49a264c5809226a0215ba7b7232895127f45002b605e6d5beb5739a3fee2c3b88420721949d17adfbd9dc15aaadebecd940958c871a8e28",
94
94
  "sha256": "c396cf58026bd79f443df5992bd12db17586c7e3702f1ace4c3e3e65a066cf14",
@@ -0,0 +1 @@
1
+ 0d63c1e8e9d43a8643da23aeceeef97772090137ad04a3f7cc3fadad7287d5da
@@ -0,0 +1 @@
1
+ 7f7a2db4577450ebac619f3fcbfc1e70a87e98018375a21e6de639f5c044fb196bd0d3229aeab7100496269f22f4179be9e70bf1849dc3ff59e5189eb7ea6383
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.navigationbar</artifactId>
12
- <version>5.0.10-canary-20251120-e46b3cc</version>
12
+ <version>5.0.10</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.navigationbar</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -34,13 +34,13 @@
34
34
  <dependency>
35
35
  <groupId>androidx.core</groupId>
36
36
  <artifactId>core</artifactId>
37
- <version>1.17.0</version>
37
+ <version>1.6.0</version>
38
38
  <scope>runtime</scope>
39
39
  </dependency>
40
40
  <dependency>
41
41
  <groupId>androidx.appcompat</groupId>
42
42
  <artifactId>appcompat</artifactId>
43
- <version>1.7.1</version>
43
+ <version>1.2.0</version>
44
44
  <scope>runtime</scope>
45
45
  </dependency>
46
46
  </dependencies>
@@ -0,0 +1 @@
1
+ e6f2e899f5edbc0eafe0ff6930d313d03c2659928f299cb3fcc744d6ab66ce44
@@ -0,0 +1 @@
1
+ 1f881e31db40f9d788099420a78d2f65d83c456e71a99c5d056c7f0c02d312309c40582e9526df9b4cbcecdc8f68e196c9071dbacfdc3132eb98fefaa8f8e8de
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.navigationbar</artifactId>
5
5
  <versioning>
6
- <latest>5.0.10-canary-20251120-e46b3cc</latest>
7
- <release>5.0.10-canary-20251120-e46b3cc</release>
6
+ <latest>5.0.10</latest>
7
+ <release>5.0.10</release>
8
8
  <versions>
9
- <version>5.0.10-canary-20251120-e46b3cc</version>
9
+ <version>5.0.10</version>
10
10
  </versions>
11
- <lastUpdated>20251120092112</lastUpdated>
11
+ <lastUpdated>20251205064548</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 3c1adbc8c4908a7c59c84b35d7ea4d23
1
+ 9bc5bf9ddc13d70b0078767aca931245
@@ -1 +1 @@
1
- 439a10161502a9ab649a6c08c181d7a67517cca3
1
+ 83f9cab5b6394090b7fc9c96d784436c1156dec1
@@ -1 +1 @@
1
- df67a340cea9e2d8c95f51edf0f12765408978ae98b33c503838f8da52fab44f
1
+ 8f864f0751e47320a9c379fc662d72a431fb6e197510750e021f77d3580fa566
@@ -1 +1 @@
1
- e35b36db9230fb01ef2e8f57de23006df4b15a8babee977916f54fb2e116ff3021f1857a70b0b871327256e3a79eda515b31b5e6bcb65e1191fc9ac8751fb057
1
+ eaebc6a2c0fb69afe8edece7fbf82af2fd30c635cdab7f0fd6f643311c7d03cecc694aec86a3e67b4e5db3e572f5a4b01997732e2fcd9b23de5942ee7a6351fb
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-navigation-bar",
3
- "version": "5.0.10-canary-20251120-e46b3cc",
3
+ "version": "5.0.10",
4
4
  "description": "Modify and observe the native navigation bar on Android devices.",
5
5
  "main": "src/index.ts",
6
6
  "types": "build/index.d.ts",
@@ -34,17 +34,18 @@
34
34
  "license": "MIT",
35
35
  "homepage": "https://docs.expo.dev/versions/latest/sdk/navigation-bar",
36
36
  "dependencies": {
37
- "@react-native/normalize-colors": "0.83.0-nightly-20251104-502efe1cc",
37
+ "@react-native/normalize-colors": "0.81.5",
38
38
  "debug": "^4.3.2",
39
39
  "react-native-is-edge-to-edge": "^1.2.1"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/debug": "^4.1.7",
43
- "expo-module-scripts": "5.1.0-canary-20251120-e46b3cc"
43
+ "expo-module-scripts": "^5.0.8"
44
44
  },
45
45
  "peerDependencies": {
46
- "expo": "55.0.0-canary-20251120-e46b3cc",
46
+ "expo": "*",
47
47
  "react": "*",
48
48
  "react-native": "*"
49
- }
49
+ },
50
+ "gitHead": "172a69f5f70c1d0e043e1532f924de97210cabc3"
50
51
  }
@@ -110,7 +110,7 @@ export async function setVisibilityAsync(visibility: NavigationBarVisibility): P
110
110
  *
111
111
  * @example
112
112
  * ```ts
113
- * const visibility = await NavigationBar.getVisibilityAsync();
113
+ * const visibility = await NavigationBar.getVisibilityAsync("hidden");
114
114
  * ```
115
115
  * @returns Navigation bar's current visibility status. Returns `hidden` on unsupported platforms (iOS, web).
116
116
  */
@@ -1 +0,0 @@
1
- 5b9e5b62c3d4f44085efcd0c265c1a35f99da27bd589efbd944a6e424ea2eefcf257ef16622a8062d42502f96176f7fd2680d7a7a594c5feac7f7b3d54c6b710
@@ -1 +0,0 @@
1
- 5cdb613688f05cc9b601ec2446b4ec1d008959be56443ec314ea0f738ba11b93316cc44c13bb6f230617a085fc89181728eafd2d194624e5be4fc35c4f80ba41