expo-navigation-bar 4.2.3 → 4.2.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.
Files changed (57) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/android/build.gradle +2 -2
  3. package/build/NavigationBar.android.d.ts +0 -1
  4. package/build/NavigationBar.android.d.ts.map +1 -1
  5. package/build/NavigationBar.android.js +0 -13
  6. package/build/NavigationBar.android.js.map +1 -1
  7. package/build/NavigationBar.d.ts +9 -12
  8. package/build/NavigationBar.d.ts.map +1 -1
  9. package/build/NavigationBar.js +9 -12
  10. package/build/NavigationBar.js.map +1 -1
  11. package/build/index.d.ts +3 -0
  12. package/build/index.d.ts.map +1 -0
  13. package/build/index.js +3 -0
  14. package/build/index.js.map +1 -0
  15. package/expo-module.config.json +1 -1
  16. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.aar +0 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.aar.md5 +1 -0
  18. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.aar.sha1 +1 -0
  19. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.aar.sha256 +1 -0
  20. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.aar.sha512 +1 -0
  21. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{4.2.3/expo.modules.navigationbar-4.2.3.module → 4.2.5/expo.modules.navigationbar-4.2.5.module} +17 -17
  22. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.module.md5 +1 -0
  23. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.module.sha1 +1 -0
  24. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.module.sha256 +1 -0
  25. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.module.sha512 +1 -0
  26. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{4.2.3/expo.modules.navigationbar-4.2.3.pom → 4.2.5/expo.modules.navigationbar-4.2.5.pom} +1 -1
  27. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.pom.md5 +1 -0
  28. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.pom.sha1 +1 -0
  29. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.pom.sha256 +1 -0
  30. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.5/expo.modules.navigationbar-4.2.5.pom.sha512 +1 -0
  31. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/maven-metadata.xml +4 -4
  32. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/maven-metadata.xml.md5 +1 -1
  33. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/maven-metadata.xml.sha1 +1 -1
  34. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/maven-metadata.xml.sha256 +1 -1
  35. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/maven-metadata.xml.sha512 +1 -1
  36. package/package.json +6 -6
  37. package/src/NavigationBar.android.ts +0 -17
  38. package/src/NavigationBar.ts +9 -13
  39. package/src/index.ts +2 -0
  40. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.aar +0 -0
  41. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.aar.md5 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.aar.sha1 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.aar.sha256 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.aar.sha512 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.module.md5 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.module.sha1 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.module.sha256 +0 -1
  48. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.module.sha512 +0 -1
  49. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.pom.md5 +0 -1
  50. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.pom.sha1 +0 -1
  51. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.pom.sha256 +0 -1
  52. package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/4.2.3/expo.modules.navigationbar-4.2.3.pom.sha512 +0 -1
  53. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{4.2.3/expo.modules.navigationbar-4.2.3-sources.jar → 4.2.5/expo.modules.navigationbar-4.2.5-sources.jar} +0 -0
  54. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{4.2.3/expo.modules.navigationbar-4.2.3-sources.jar.md5 → 4.2.5/expo.modules.navigationbar-4.2.5-sources.jar.md5} +0 -0
  55. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{4.2.3/expo.modules.navigationbar-4.2.3-sources.jar.sha1 → 4.2.5/expo.modules.navigationbar-4.2.5-sources.jar.sha1} +0 -0
  56. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{4.2.3/expo.modules.navigationbar-4.2.3-sources.jar.sha256 → 4.2.5/expo.modules.navigationbar-4.2.5-sources.jar.sha256} +0 -0
  57. /package/local-maven-repo/host/exp/exponent/expo.modules.navigationbar/{4.2.3/expo.modules.navigationbar-4.2.3-sources.jar.sha512 → 4.2.5/expo.modules.navigationbar-4.2.5-sources.jar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,20 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 4.2.5 — 2025-06-04
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - Fix broken OS recognition. ([#36965](https://github.com/expo/expo/pull/36965) by [@behenate](https://github.com/behenate))
18
+
19
+ ### 💡 Others
20
+
21
+ - Fix inconsistencies with the docs. ([#36966](https://github.com/expo/expo/pull/36966) by [@behenate](https://github.com/behenate))
22
+
23
+ ## 4.2.4 — 2025-05-01
24
+
25
+ _This version does not introduce any user-facing changes._
26
+
13
27
  ## 4.2.3 — 2025-04-30
14
28
 
15
29
  _This version does not introduce any user-facing changes._
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '4.2.3'
7
+ version = '4.2.5'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.navigationbar"
11
11
  defaultConfig {
12
12
  versionCode 1
13
- versionName '4.2.3'
13
+ versionName '4.2.5'
14
14
  }
15
15
  }
16
16
 
@@ -15,5 +15,4 @@ export declare function setBehaviorAsync(behavior: NavigationBarBehavior): Promi
15
15
  export declare function getBehaviorAsync(): Promise<NavigationBarBehavior>;
16
16
  export declare function setStyle(style: NavigationBarStyle): void;
17
17
  export declare function useVisibility(): NavigationBarVisibility | null;
18
- export * from './NavigationBar.types';
19
18
  //# sourceMappingURL=NavigationBar.android.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationBar.android.d.ts","sourceRoot":"","sources":["../src/NavigationBar.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAM3D,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAa/B,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,IAAI,GACtD,iBAAiB,CAOnB;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1E;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAO/D;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQtE;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAO3D;AAED,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3F;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAO3E;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxF;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAO7E;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrF;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAOhF;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrF;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAOvE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,QASjD;AAED,wBAAgB,aAAa,IAAI,uBAAuB,GAAG,IAAI,CA8B9D;AAED,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"NavigationBar.android.d.ts","sourceRoot":"","sources":["../src/NavigationBar.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAM3D,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAa/B,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,IAAI,GACtD,iBAAiB,CAEnB;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1E;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAO/D;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQtE;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAO3D;AAED,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3F;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAE3E;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxF;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAO7E;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrF;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAOhF;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrF;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAOvE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,QASjD;AAED,wBAAgB,aAAa,IAAI,uBAAuB,GAAG,IAAI,CAyB9D"}
@@ -12,10 +12,6 @@ if (isEdgeToEdge()) {
12
12
  SystemBars = require('react-native-edge-to-edge').SystemBars;
13
13
  }
14
14
  export function addVisibilityListener(listener) {
15
- if (SystemBars != null) {
16
- console.warn('`addVisibilityListener` is not supported with edge-to-edge enabled.');
17
- return { remove: () => { } };
18
- }
19
15
  return ExpoNavigationBar.addListener('ExpoNavigationBar.didChange', listener);
20
16
  }
21
17
  export async function setBackgroundColorAsync(color) {
@@ -56,10 +52,6 @@ export async function setVisibilityAsync(visibility) {
56
52
  await ExpoNavigationBar.setVisibilityAsync(visibility);
57
53
  }
58
54
  export async function getVisibilityAsync() {
59
- if (SystemBars != null) {
60
- console.warn('`getVisibilityAsync` is not supported with edge-to-edge enabled.');
61
- return 'hidden';
62
- }
63
55
  return ExpoNavigationBar.getVisibilityAsync();
64
56
  }
65
57
  export async function setButtonStyleAsync(style) {
@@ -114,10 +106,6 @@ export function setStyle(style) {
114
106
  export function useVisibility() {
115
107
  const [visibility, setVisible] = useState(null);
116
108
  useEffect(() => {
117
- if (SystemBars != null) {
118
- console.warn('`useVisibility` is not supported with edge-to-edge enabled.');
119
- return;
120
- }
121
109
  let isMounted = true;
122
110
  getVisibilityAsync().then((visibility) => {
123
111
  if (isMounted) {
@@ -136,5 +124,4 @@ export function useVisibility() {
136
124
  }, []);
137
125
  return visibility;
138
126
  }
139
- export * from './NavigationBar.types';
140
127
  //# sourceMappingURL=NavigationBar.android.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationBar.android.js","sourceRoot":"","sources":["../src/NavigationBar.android.ts"],"names":[],"mappings":"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","sourcesContent":["import { type EventSubscription } from 'expo-modules-core';\nimport { useEffect, useState } from 'react';\nimport { processColor } from 'react-native';\nimport { isEdgeToEdge } from 'react-native-is-edge-to-edge';\n\nimport ExpoNavigationBar from './ExpoNavigationBar';\nimport type {\n NavigationBarBehavior,\n NavigationBarButtonStyle,\n NavigationBarPosition,\n NavigationBarStyle,\n NavigationBarVisibility,\n NavigationBarVisibilityEvent,\n} from './NavigationBar.types';\n\n// This line only imports the type information for TypeScript type checking. It\n// doesn't import the actual module in the compiled JavaScript code. The actual\n// module is imported conditionally with require() below, in order to avoid\n// importing the module if edge-to-edge is not enabled (which could throw if\n// it's not linked).\nlet SystemBars: typeof import('react-native-edge-to-edge').SystemBars | null = null;\n\nif (isEdgeToEdge()) {\n SystemBars = require('react-native-edge-to-edge').SystemBars;\n}\n\nexport function addVisibilityListener(\n listener: (event: NavigationBarVisibilityEvent) => void\n): EventSubscription {\n if (SystemBars != null) {\n console.warn('`addVisibilityListener` is not supported with edge-to-edge enabled.');\n return { remove: () => {} };\n }\n\n return ExpoNavigationBar.addListener('ExpoNavigationBar.didChange', listener);\n}\n\nexport async function setBackgroundColorAsync(color: string): Promise<void> {\n if (SystemBars != null) {\n console.warn('`setBackgroundColorAsync` is not supported with edge-to-edge enabled.');\n return;\n }\n\n const colorNumber = processColor(color);\n await ExpoNavigationBar.setBackgroundColorAsync(colorNumber);\n}\n\nexport async function getBackgroundColorAsync(): Promise<string> {\n if (SystemBars != null) {\n console.warn('`getBackgroundColorAsync` is not supported with edge-to-edge enabled.');\n return `#00000000`;\n }\n\n return await ExpoNavigationBar.getBackgroundColorAsync();\n}\n\nexport async function setBorderColorAsync(color: string): Promise<void> {\n if (SystemBars != null) {\n console.warn('`setBorderColorAsync` is not supported with edge-to-edge enabled.');\n return;\n }\n\n const colorNumber = processColor(color);\n await ExpoNavigationBar.setBorderColorAsync(colorNumber);\n}\n\nexport async function getBorderColorAsync(): Promise<string> {\n if (SystemBars != null) {\n console.warn('`getBorderColorAsync` is not supported with edge-to-edge enabled.');\n return `#00000000`;\n }\n\n return await ExpoNavigationBar.getBorderColorAsync();\n}\n\nexport async function setVisibilityAsync(visibility: NavigationBarVisibility): Promise<void> {\n if (SystemBars != null) {\n SystemBars.setHidden({ navigationBar: visibility === 'hidden' });\n return;\n }\n\n await ExpoNavigationBar.setVisibilityAsync(visibility);\n}\n\nexport async function getVisibilityAsync(): Promise<NavigationBarVisibility> {\n if (SystemBars != null) {\n console.warn('`getVisibilityAsync` is not supported with edge-to-edge enabled.');\n return 'hidden';\n }\n\n return ExpoNavigationBar.getVisibilityAsync();\n}\n\nexport async function setButtonStyleAsync(style: NavigationBarButtonStyle): Promise<void> {\n if (SystemBars != null) {\n SystemBars.setStyle({ navigationBar: style });\n return;\n }\n\n await ExpoNavigationBar.setButtonStyleAsync(style);\n}\n\nexport async function getButtonStyleAsync(): Promise<NavigationBarButtonStyle> {\n if (SystemBars != null) {\n console.warn('`getButtonStyleAsync` is not supported with edge-to-edge enabled.');\n return 'light';\n }\n\n return await ExpoNavigationBar.getButtonStyleAsync();\n}\n\nexport async function setPositionAsync(position: NavigationBarPosition): Promise<void> {\n if (SystemBars != null) {\n console.warn('`setPositionAsync` is not supported with edge-to-edge enabled.');\n return;\n }\n\n await ExpoNavigationBar.setPositionAsync(position);\n}\n\nexport async function unstable_getPositionAsync(): Promise<NavigationBarPosition> {\n if (SystemBars != null) {\n console.warn('`unstable_getPositionAsync` is not supported with edge-to-edge enabled.');\n return 'relative';\n }\n\n return await ExpoNavigationBar.unstable_getPositionAsync();\n}\n\nexport async function setBehaviorAsync(behavior: NavigationBarBehavior): Promise<void> {\n if (SystemBars != null) {\n console.warn('`setBehaviorAsync` is not supported with edge-to-edge enabled.');\n return;\n }\n\n await ExpoNavigationBar.setBehaviorAsync(behavior);\n}\n\nexport async function getBehaviorAsync(): Promise<NavigationBarBehavior> {\n if (SystemBars != null) {\n console.warn('`getBehaviorAsync` is not supported with edge-to-edge enabled.');\n return 'inset-touch';\n }\n\n return await ExpoNavigationBar.getBehaviorAsync();\n}\n\nexport function setStyle(style: NavigationBarStyle) {\n if (SystemBars != null) {\n SystemBars.setStyle({ navigationBar: style });\n return;\n }\n\n throw new Error(\n '`setStyle` is only supported on Android when edge-to-edge is enabled. Enable edge-to-edge or use the `setButtonStyle` function instead.'\n );\n}\n\nexport function useVisibility(): NavigationBarVisibility | null {\n const [visibility, setVisible] = useState<NavigationBarVisibility | null>(null);\n\n useEffect(() => {\n if (SystemBars != null) {\n console.warn('`useVisibility` is not supported with edge-to-edge enabled.');\n return;\n }\n\n let isMounted = true;\n\n getVisibilityAsync().then((visibility) => {\n if (isMounted) {\n setVisible(visibility);\n }\n });\n\n const listener = addVisibilityListener(({ visibility }) => {\n if (isMounted) {\n setVisible(visibility);\n }\n });\n\n return () => {\n listener.remove();\n isMounted = false;\n };\n }, []);\n\n return visibility;\n}\n\nexport * from './NavigationBar.types';\n"]}
1
+ {"version":3,"file":"NavigationBar.android.js","sourceRoot":"","sources":["../src/NavigationBar.android.ts"],"names":[],"mappings":"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","sourcesContent":["import { type EventSubscription } from 'expo-modules-core';\nimport { useEffect, useState } from 'react';\nimport { processColor } from 'react-native';\nimport { isEdgeToEdge } from 'react-native-is-edge-to-edge';\n\nimport ExpoNavigationBar from './ExpoNavigationBar';\nimport type {\n NavigationBarBehavior,\n NavigationBarButtonStyle,\n NavigationBarPosition,\n NavigationBarStyle,\n NavigationBarVisibility,\n NavigationBarVisibilityEvent,\n} from './NavigationBar.types';\n\n// This line only imports the type information for TypeScript type checking. It\n// doesn't import the actual module in the compiled JavaScript code. The actual\n// module is imported conditionally with require() below, in order to avoid\n// importing the module if edge-to-edge is not enabled (which could throw if\n// it's not linked).\nlet SystemBars: typeof import('react-native-edge-to-edge').SystemBars | null = null;\n\nif (isEdgeToEdge()) {\n SystemBars = require('react-native-edge-to-edge').SystemBars;\n}\n\nexport function addVisibilityListener(\n listener: (event: NavigationBarVisibilityEvent) => void\n): EventSubscription {\n return ExpoNavigationBar.addListener('ExpoNavigationBar.didChange', listener);\n}\n\nexport async function setBackgroundColorAsync(color: string): Promise<void> {\n if (SystemBars != null) {\n console.warn('`setBackgroundColorAsync` is not supported with edge-to-edge enabled.');\n return;\n }\n\n const colorNumber = processColor(color);\n await ExpoNavigationBar.setBackgroundColorAsync(colorNumber);\n}\n\nexport async function getBackgroundColorAsync(): Promise<string> {\n if (SystemBars != null) {\n console.warn('`getBackgroundColorAsync` is not supported with edge-to-edge enabled.');\n return `#00000000`;\n }\n\n return await ExpoNavigationBar.getBackgroundColorAsync();\n}\n\nexport async function setBorderColorAsync(color: string): Promise<void> {\n if (SystemBars != null) {\n console.warn('`setBorderColorAsync` is not supported with edge-to-edge enabled.');\n return;\n }\n\n const colorNumber = processColor(color);\n await ExpoNavigationBar.setBorderColorAsync(colorNumber);\n}\n\nexport async function getBorderColorAsync(): Promise<string> {\n if (SystemBars != null) {\n console.warn('`getBorderColorAsync` is not supported with edge-to-edge enabled.');\n return `#00000000`;\n }\n\n return await ExpoNavigationBar.getBorderColorAsync();\n}\n\nexport async function setVisibilityAsync(visibility: NavigationBarVisibility): Promise<void> {\n if (SystemBars != null) {\n SystemBars.setHidden({ navigationBar: visibility === 'hidden' });\n return;\n }\n\n await ExpoNavigationBar.setVisibilityAsync(visibility);\n}\n\nexport async function getVisibilityAsync(): Promise<NavigationBarVisibility> {\n return ExpoNavigationBar.getVisibilityAsync();\n}\n\nexport async function setButtonStyleAsync(style: NavigationBarButtonStyle): Promise<void> {\n if (SystemBars != null) {\n SystemBars.setStyle({ navigationBar: style });\n return;\n }\n\n await ExpoNavigationBar.setButtonStyleAsync(style);\n}\n\nexport async function getButtonStyleAsync(): Promise<NavigationBarButtonStyle> {\n if (SystemBars != null) {\n console.warn('`getButtonStyleAsync` is not supported with edge-to-edge enabled.');\n return 'light';\n }\n\n return await ExpoNavigationBar.getButtonStyleAsync();\n}\n\nexport async function setPositionAsync(position: NavigationBarPosition): Promise<void> {\n if (SystemBars != null) {\n console.warn('`setPositionAsync` is not supported with edge-to-edge enabled.');\n return;\n }\n\n await ExpoNavigationBar.setPositionAsync(position);\n}\n\nexport async function unstable_getPositionAsync(): Promise<NavigationBarPosition> {\n if (SystemBars != null) {\n console.warn('`unstable_getPositionAsync` is not supported with edge-to-edge enabled.');\n return 'relative';\n }\n\n return await ExpoNavigationBar.unstable_getPositionAsync();\n}\n\nexport async function setBehaviorAsync(behavior: NavigationBarBehavior): Promise<void> {\n if (SystemBars != null) {\n console.warn('`setBehaviorAsync` is not supported with edge-to-edge enabled.');\n return;\n }\n\n await ExpoNavigationBar.setBehaviorAsync(behavior);\n}\n\nexport async function getBehaviorAsync(): Promise<NavigationBarBehavior> {\n if (SystemBars != null) {\n console.warn('`getBehaviorAsync` is not supported with edge-to-edge enabled.');\n return 'inset-touch';\n }\n\n return await ExpoNavigationBar.getBehaviorAsync();\n}\n\nexport function setStyle(style: NavigationBarStyle) {\n if (SystemBars != null) {\n SystemBars.setStyle({ navigationBar: style });\n return;\n }\n\n throw new Error(\n '`setStyle` is only supported on Android when edge-to-edge is enabled. Enable edge-to-edge or use the `setButtonStyle` function instead.'\n );\n}\n\nexport function useVisibility(): NavigationBarVisibility | null {\n const [visibility, setVisible] = useState<NavigationBarVisibility | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n\n getVisibilityAsync().then((visibility) => {\n if (isMounted) {\n setVisible(visibility);\n }\n });\n\n const listener = addVisibilityListener(({ visibility }) => {\n if (isMounted) {\n setVisible(visibility);\n }\n });\n\n return () => {\n listener.remove();\n isMounted = false;\n };\n }, []);\n\n return visibility;\n}\n"]}
@@ -15,7 +15,7 @@ export declare function addVisibilityListener(listener: (event: NavigationBarVis
15
15
  /**
16
16
  * Changes the navigation bar's background color.
17
17
  *
18
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
18
+ * > This method is supported only when edge-to-edge is disabled.
19
19
  *
20
20
  * @example
21
21
  * ```ts
@@ -27,7 +27,7 @@ export declare function setBackgroundColorAsync(color: string): Promise<void>;
27
27
  /**
28
28
  * Gets the navigation bar's background color.
29
29
  *
30
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
30
+ * > This method is supported only when edge-to-edge is disabled.
31
31
  *
32
32
  * @example
33
33
  * ```ts
@@ -40,7 +40,7 @@ export declare function getBackgroundColorAsync(): Promise<string>;
40
40
  /**
41
41
  * Changes the navigation bar's border color.
42
42
  *
43
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
43
+ * > This method is supported only when edge-to-edge is disabled.
44
44
  *
45
45
  * @example
46
46
  * ```ts
@@ -52,7 +52,7 @@ export declare function setBorderColorAsync(color: string): Promise<void>;
52
52
  /**
53
53
  * Gets the navigation bar's top border color, also known as the "divider color".
54
54
  *
55
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
55
+ * > This method is supported only when edge-to-edge is disabled.
56
56
  *
57
57
  * @example
58
58
  * ```ts
@@ -86,8 +86,6 @@ export declare function getVisibilityAsync(): Promise<NavigationBarVisibility>;
86
86
  /**
87
87
  * Changes the navigation bar's button colors between white (`light`) and a dark gray color (`dark`).
88
88
  *
89
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
90
- *
91
89
  * @example
92
90
  * ```ts
93
91
  * NavigationBar.setButtonStyleAsync("light");
@@ -98,7 +96,7 @@ export declare function setButtonStyleAsync(style: NavigationBarButtonStyle): Pr
98
96
  /**
99
97
  * Gets the navigation bar's button color styles.
100
98
  *
101
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
99
+ * > This method is supported only when edge-to-edge is disabled.
102
100
  *
103
101
  * @example
104
102
  * ```ts
@@ -114,7 +112,7 @@ export declare function getButtonStyleAsync(): Promise<NavigationBarButtonStyle>
114
112
  *
115
113
  * When drawing behind the status and navigation bars, ensure the safe area insets are adjusted accordingly.
116
114
  *
117
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
115
+ * > This method is supported only when edge-to-edge is disabled.
118
116
  *
119
117
  * @example
120
118
  * ```ts
@@ -133,7 +131,7 @@ export declare function setPositionAsync(position: NavigationBarPosition): Promi
133
131
  * This method is unstable because the position can be set via another native module and get out of sync.
134
132
  * Alternatively, you can get the position by measuring the insets returned by `react-native-safe-area-context`.
135
133
  *
136
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
134
+ * > This method is supported only when edge-to-edge is disabled.
137
135
  *
138
136
  * @example
139
137
  * ```ts
@@ -152,7 +150,7 @@ export declare function unstable_getPositionAsync(): Promise<NavigationBarPositi
152
150
  * - `'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.
153
151
  * - `'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.
154
152
  *
155
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
153
+ * > This method is supported only when edge-to-edge is disabled.
156
154
  *
157
155
  * @example
158
156
  * ```ts
@@ -164,7 +162,7 @@ export declare function setBehaviorAsync(behavior: NavigationBarBehavior): Promi
164
162
  /**
165
163
  * Gets the behavior of the status and navigation bars when the user swipes or touches the screen.
166
164
  *
167
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
165
+ * > This method is supported only when edge-to-edge is disabled.
168
166
  *
169
167
  * @example
170
168
  * ```ts
@@ -198,5 +196,4 @@ export declare function setStyle(style: NavigationBarStyle): void;
198
196
  * @returns Visibility of the navigation bar, `null` during async initialization.
199
197
  */
200
198
  export declare function useVisibility(): NavigationBarVisibility | null;
201
- export * from './NavigationBar.types';
202
199
  //# sourceMappingURL=NavigationBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationBar.d.ts","sourceRoot":"","sources":["../src/NavigationBar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,mBAAmB,CAAC;AAGhF,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,IAAI,GACtD,iBAAiB,CAEnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAG/D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAG3D;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAG3E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAG7E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAErF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAGhF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAErF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAGvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,QAEjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,IAAI,uBAAuB,GAAG,IAAI,CAQ9D;AAED,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"NavigationBar.d.ts","sourceRoot":"","sources":["../src/NavigationBar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,mBAAmB,CAAC;AAGhF,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,IAAI,GACtD,iBAAiB,CAEnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAG/D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAG3D;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAG3E;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAG7E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAErF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAGhF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAErF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAGvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,QAEjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,IAAI,uBAAuB,GAAG,IAAI,CAQ9D"}
@@ -17,7 +17,7 @@ export function addVisibilityListener(listener) {
17
17
  /**
18
18
  * Changes the navigation bar's background color.
19
19
  *
20
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
20
+ * > This method is supported only when edge-to-edge is disabled.
21
21
  *
22
22
  * @example
23
23
  * ```ts
@@ -31,7 +31,7 @@ export async function setBackgroundColorAsync(color) {
31
31
  /**
32
32
  * Gets the navigation bar's background color.
33
33
  *
34
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
34
+ * > This method is supported only when edge-to-edge is disabled.
35
35
  *
36
36
  * @example
37
37
  * ```ts
@@ -47,7 +47,7 @@ export async function getBackgroundColorAsync() {
47
47
  /**
48
48
  * Changes the navigation bar's border color.
49
49
  *
50
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
50
+ * > This method is supported only when edge-to-edge is disabled.
51
51
  *
52
52
  * @example
53
53
  * ```ts
@@ -61,7 +61,7 @@ export async function setBorderColorAsync(color) {
61
61
  /**
62
62
  * Gets the navigation bar's top border color, also known as the "divider color".
63
63
  *
64
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
64
+ * > This method is supported only when edge-to-edge is disabled.
65
65
  *
66
66
  * @example
67
67
  * ```ts
@@ -103,8 +103,6 @@ export async function getVisibilityAsync() {
103
103
  /**
104
104
  * Changes the navigation bar's button colors between white (`light`) and a dark gray color (`dark`).
105
105
  *
106
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
107
- *
108
106
  * @example
109
107
  * ```ts
110
108
  * NavigationBar.setButtonStyleAsync("light");
@@ -117,7 +115,7 @@ export async function setButtonStyleAsync(style) {
117
115
  /**
118
116
  * Gets the navigation bar's button color styles.
119
117
  *
120
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
118
+ * > This method is supported only when edge-to-edge is disabled.
121
119
  *
122
120
  * @example
123
121
  * ```ts
@@ -136,7 +134,7 @@ export async function getButtonStyleAsync() {
136
134
  *
137
135
  * When drawing behind the status and navigation bars, ensure the safe area insets are adjusted accordingly.
138
136
  *
139
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
137
+ * > This method is supported only when edge-to-edge is disabled.
140
138
  *
141
139
  * @example
142
140
  * ```ts
@@ -157,7 +155,7 @@ export async function setPositionAsync(position) {
157
155
  * This method is unstable because the position can be set via another native module and get out of sync.
158
156
  * Alternatively, you can get the position by measuring the insets returned by `react-native-safe-area-context`.
159
157
  *
160
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
158
+ * > This method is supported only when edge-to-edge is disabled.
161
159
  *
162
160
  * @example
163
161
  * ```ts
@@ -179,7 +177,7 @@ export async function unstable_getPositionAsync() {
179
177
  * - `'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.
180
178
  * - `'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.
181
179
  *
182
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
180
+ * > This method is supported only when edge-to-edge is disabled.
183
181
  *
184
182
  * @example
185
183
  * ```ts
@@ -193,7 +191,7 @@ export async function setBehaviorAsync(behavior) {
193
191
  /**
194
192
  * Gets the behavior of the status and navigation bars when the user swipes or touches the screen.
195
193
  *
196
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
194
+ * > This method is supported only when edge-to-edge is disabled.
197
195
  *
198
196
  * @example
199
197
  * ```ts
@@ -238,5 +236,4 @@ export function useVisibility() {
238
236
  }, []);
239
237
  return visibility;
240
238
  }
241
- export * from './NavigationBar.types';
242
239
  //# sourceMappingURL=NavigationBar.js.map
@@ -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. Using it in edge-to-edge app may lead to unexpected behavior.\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. Using it in edge-to-edge app may lead to unexpected behavior.\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. Using it in edge-to-edge app may lead to unexpected behavior.\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. Using it in edge-to-edge app may lead to unexpected behavior.\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 * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.\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. Using it in edge-to-edge app may lead to unexpected behavior.\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. Using it in edge-to-edge app may lead to unexpected behavior.\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. Using it in edge-to-edge app may lead to unexpected behavior.\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. Using it in edge-to-edge app may lead to unexpected behavior.\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. Using it in edge-to-edge app may lead to unexpected behavior.\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\nexport * from './NavigationBar.types';\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"]}
@@ -0,0 +1,3 @@
1
+ export * from './NavigationBar';
2
+ export * from './NavigationBar.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
package/build/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from './NavigationBar';
2
+ export * from './NavigationBar.types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC","sourcesContent":["export * from './NavigationBar';\nexport * from './NavigationBar.types';\n"]}
@@ -5,7 +5,7 @@
5
5
  "publication": {
6
6
  "groupId": "host.exp.exponent",
7
7
  "artifactId": "expo.modules.navigationbar",
8
- "version": "4.2.3",
8
+ "version": "4.2.5",
9
9
  "repository": "local-maven-repo"
10
10
  }
11
11
  }
@@ -0,0 +1 @@
1
+ a4694a9a69ea8233c8467b07b77e8bc573ad4c20b50346c29d582e54cea64612
@@ -0,0 +1 @@
1
+ ffcfd5adba8d37a5e84fd7f928f0289392b1f558d19a2f882110a01f4c296a1acf329d0517f3354a2b86d23d880c086c19bd78ab054c3bea3016d44036580768
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.navigationbar",
6
- "version": "4.2.3",
6
+ "version": "4.2.5",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,13 +24,13 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.navigationbar-4.2.3.aar",
28
- "url": "expo.modules.navigationbar-4.2.3.aar",
29
- "size": 50196,
30
- "sha512": "58aab84bb5da0dd0611c34fbeaed6bc4877c4cbd8aa951b0ff5284937baf73377ea72f9c2737087365af08ac78d85c200eadecf345225706bc23eba5a1821cb7",
31
- "sha256": "2e94e805b62c26d3d7349aa6f6f65b9ca42d8cac27908181ca5c9e69cfced87d",
32
- "sha1": "fd0cfe044a4a4bbe0aa33c8f06e570f7d6d88e74",
33
- "md5": "1ee29636ff6fbcb9b50d9d739257edc9"
27
+ "name": "expo.modules.navigationbar-4.2.5.aar",
28
+ "url": "expo.modules.navigationbar-4.2.5.aar",
29
+ "size": 50308,
30
+ "sha512": "ffcfd5adba8d37a5e84fd7f928f0289392b1f558d19a2f882110a01f4c296a1acf329d0517f3354a2b86d23d880c086c19bd78ab054c3bea3016d44036580768",
31
+ "sha256": "a4694a9a69ea8233c8467b07b77e8bc573ad4c20b50346c29d582e54cea64612",
32
+ "sha1": "478d90b3ea294797d47fd6f395752f4031ef1bc5",
33
+ "md5": "2fd2fe2d64601bb4cdbfa94c78395c74"
34
34
  }
35
35
  ]
36
36
  },
@@ -67,13 +67,13 @@
67
67
  ],
68
68
  "files": [
69
69
  {
70
- "name": "expo.modules.navigationbar-4.2.3.aar",
71
- "url": "expo.modules.navigationbar-4.2.3.aar",
72
- "size": 50196,
73
- "sha512": "58aab84bb5da0dd0611c34fbeaed6bc4877c4cbd8aa951b0ff5284937baf73377ea72f9c2737087365af08ac78d85c200eadecf345225706bc23eba5a1821cb7",
74
- "sha256": "2e94e805b62c26d3d7349aa6f6f65b9ca42d8cac27908181ca5c9e69cfced87d",
75
- "sha1": "fd0cfe044a4a4bbe0aa33c8f06e570f7d6d88e74",
76
- "md5": "1ee29636ff6fbcb9b50d9d739257edc9"
70
+ "name": "expo.modules.navigationbar-4.2.5.aar",
71
+ "url": "expo.modules.navigationbar-4.2.5.aar",
72
+ "size": 50308,
73
+ "sha512": "ffcfd5adba8d37a5e84fd7f928f0289392b1f558d19a2f882110a01f4c296a1acf329d0517f3354a2b86d23d880c086c19bd78ab054c3bea3016d44036580768",
74
+ "sha256": "a4694a9a69ea8233c8467b07b77e8bc573ad4c20b50346c29d582e54cea64612",
75
+ "sha1": "478d90b3ea294797d47fd6f395752f4031ef1bc5",
76
+ "md5": "2fd2fe2d64601bb4cdbfa94c78395c74"
77
77
  }
78
78
  ]
79
79
  },
@@ -87,8 +87,8 @@
87
87
  },
88
88
  "files": [
89
89
  {
90
- "name": "expo.modules.navigationbar-4.2.3-sources.jar",
91
- "url": "expo.modules.navigationbar-4.2.3-sources.jar",
90
+ "name": "expo.modules.navigationbar-4.2.5-sources.jar",
91
+ "url": "expo.modules.navigationbar-4.2.5-sources.jar",
92
92
  "size": 5746,
93
93
  "sha512": "b062a1e85ccee489c49a264c5809226a0215ba7b7232895127f45002b605e6d5beb5739a3fee2c3b88420721949d17adfbd9dc15aaadebecd940958c871a8e28",
94
94
  "sha256": "c396cf58026bd79f443df5992bd12db17586c7e3702f1ace4c3e3e65a066cf14",
@@ -0,0 +1 @@
1
+ 034f431f630112bacd2644dab09e720c523667ac7df4b5d083ac5a393f8dcfca
@@ -0,0 +1 @@
1
+ 3b18df9282acedcfeb4553880f9340ff9dda281091c64673f68c7ffebce135e42bad42dd20acab550c9f180439f1c5cdfebf002e57a9d6f48234820747809a4f
@@ -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>4.2.3</version>
12
+ <version>4.2.5</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.navigationbar</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ a6573df0af53495ddb222e496681467da089096bc09b078c0b12d42d03e766d6
@@ -0,0 +1 @@
1
+ 9ece9c7e3e43f3ebc58e199025ac629f1324712dbc3ed8c274780b1bc181dce398f0dd5df0381f4d378d4125c6ad5a47a1449b44edba73d0030a0fa38d89b9bb
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.navigationbar</artifactId>
5
5
  <versioning>
6
- <latest>4.2.3</latest>
7
- <release>4.2.3</release>
6
+ <latest>4.2.5</latest>
7
+ <release>4.2.5</release>
8
8
  <versions>
9
- <version>4.2.3</version>
9
+ <version>4.2.5</version>
10
10
  </versions>
11
- <lastUpdated>20250430211453</lastUpdated>
11
+ <lastUpdated>20250604230414</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 4f246ff78991a289cec898a15809c078
1
+ 2fd202e8dc23bf747a94430ff8401974
@@ -1 +1 @@
1
- 3d45ea8bc42bb2308a86fa56f8a8631ad2758bfd
1
+ 5d3cce942472a4a1929014ebd76a464c4efac82d
@@ -1 +1 @@
1
- e2cf15a029faf0ec8f688cadaf81b74f44b550588961f5801cc3446dea166e9e
1
+ 054560f459c786efbdbb0a27acf4f47a8d98846bf4687a560e8663d230f20ade
@@ -1 +1 @@
1
- 946c0d72dbc740ea723ea481256341641389efa3ceaeffa59f9464fadd069777f5a0ebb5d625a98e894aa51da9afb6e038c6d04624a63d6d977b0092e9f80633
1
+ 86111a40d25df68532f8193424beda940a6b49e8e128f7748cf15516191d4e0d0837b4240a35cbf9b8a2e31a4950c3b22c2f9711d396b1dfba44195c4bb8d98d
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "expo-navigation-bar",
3
- "version": "4.2.3",
3
+ "version": "4.2.5",
4
4
  "description": "Modify and observe the native navigation bar on Android devices.",
5
- "main": "build/NavigationBar.js",
6
- "types": "build/NavigationBar.d.ts",
5
+ "main": "src/index.ts",
6
+ "types": "build/index.d.ts",
7
7
  "scripts": {
8
8
  "build": "expo-module build",
9
9
  "clean": "expo-module clean",
@@ -34,19 +34,19 @@
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.79.1",
37
+ "@react-native/normalize-colors": "0.79.3",
38
38
  "debug": "^4.3.2",
39
39
  "react-native-is-edge-to-edge": "^1.1.6",
40
40
  "react-native-edge-to-edge": "1.6.0"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/debug": "^4.1.7",
44
- "expo-module-scripts": "^4.1.6"
44
+ "expo-module-scripts": "^4.1.7"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "expo": "*",
48
48
  "react": "*",
49
49
  "react-native": "*"
50
50
  },
51
- "gitHead": "84355076bc31a356aa3d23257f387f221885f53d"
51
+ "gitHead": "7638c800b57fe78f57cc7f129022f58e84a523c5"
52
52
  }
@@ -27,11 +27,6 @@ if (isEdgeToEdge()) {
27
27
  export function addVisibilityListener(
28
28
  listener: (event: NavigationBarVisibilityEvent) => void
29
29
  ): EventSubscription {
30
- if (SystemBars != null) {
31
- console.warn('`addVisibilityListener` is not supported with edge-to-edge enabled.');
32
- return { remove: () => {} };
33
- }
34
-
35
30
  return ExpoNavigationBar.addListener('ExpoNavigationBar.didChange', listener);
36
31
  }
37
32
 
@@ -83,11 +78,6 @@ export async function setVisibilityAsync(visibility: NavigationBarVisibility): P
83
78
  }
84
79
 
85
80
  export async function getVisibilityAsync(): Promise<NavigationBarVisibility> {
86
- if (SystemBars != null) {
87
- console.warn('`getVisibilityAsync` is not supported with edge-to-edge enabled.');
88
- return 'hidden';
89
- }
90
-
91
81
  return ExpoNavigationBar.getVisibilityAsync();
92
82
  }
93
83
 
@@ -160,11 +150,6 @@ export function useVisibility(): NavigationBarVisibility | null {
160
150
  const [visibility, setVisible] = useState<NavigationBarVisibility | null>(null);
161
151
 
162
152
  useEffect(() => {
163
- if (SystemBars != null) {
164
- console.warn('`useVisibility` is not supported with edge-to-edge enabled.');
165
- return;
166
- }
167
-
168
153
  let isMounted = true;
169
154
 
170
155
  getVisibilityAsync().then((visibility) => {
@@ -187,5 +172,3 @@ export function useVisibility(): NavigationBarVisibility | null {
187
172
 
188
173
  return visibility;
189
174
  }
190
-
191
- export * from './NavigationBar.types';
@@ -30,7 +30,7 @@ export function addVisibilityListener(
30
30
  /**
31
31
  * Changes the navigation bar's background color.
32
32
  *
33
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
33
+ * > This method is supported only when edge-to-edge is disabled.
34
34
  *
35
35
  * @example
36
36
  * ```ts
@@ -45,7 +45,7 @@ export async function setBackgroundColorAsync(color: string): Promise<void> {
45
45
  /**
46
46
  * Gets the navigation bar's background color.
47
47
  *
48
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
48
+ * > This method is supported only when edge-to-edge is disabled.
49
49
  *
50
50
  * @example
51
51
  * ```ts
@@ -62,7 +62,7 @@ export async function getBackgroundColorAsync(): Promise<string> {
62
62
  /**
63
63
  * Changes the navigation bar's border color.
64
64
  *
65
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
65
+ * > This method is supported only when edge-to-edge is disabled.
66
66
  *
67
67
  * @example
68
68
  * ```ts
@@ -77,7 +77,7 @@ export async function setBorderColorAsync(color: string): Promise<void> {
77
77
  /**
78
78
  * Gets the navigation bar's top border color, also known as the "divider color".
79
79
  *
80
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
80
+ * > This method is supported only when edge-to-edge is disabled.
81
81
  *
82
82
  * @example
83
83
  * ```ts
@@ -122,8 +122,6 @@ export async function getVisibilityAsync(): Promise<NavigationBarVisibility> {
122
122
  /**
123
123
  * Changes the navigation bar's button colors between white (`light`) and a dark gray color (`dark`).
124
124
  *
125
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
126
- *
127
125
  * @example
128
126
  * ```ts
129
127
  * NavigationBar.setButtonStyleAsync("light");
@@ -137,7 +135,7 @@ export async function setButtonStyleAsync(style: NavigationBarButtonStyle): Prom
137
135
  /**
138
136
  * Gets the navigation bar's button color styles.
139
137
  *
140
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
138
+ * > This method is supported only when edge-to-edge is disabled.
141
139
  *
142
140
  * @example
143
141
  * ```ts
@@ -157,7 +155,7 @@ export async function getButtonStyleAsync(): Promise<NavigationBarButtonStyle> {
157
155
  *
158
156
  * When drawing behind the status and navigation bars, ensure the safe area insets are adjusted accordingly.
159
157
  *
160
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
158
+ * > This method is supported only when edge-to-edge is disabled.
161
159
  *
162
160
  * @example
163
161
  * ```ts
@@ -179,7 +177,7 @@ export async function setPositionAsync(position: NavigationBarPosition): Promise
179
177
  * This method is unstable because the position can be set via another native module and get out of sync.
180
178
  * Alternatively, you can get the position by measuring the insets returned by `react-native-safe-area-context`.
181
179
  *
182
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
180
+ * > This method is supported only when edge-to-edge is disabled.
183
181
  *
184
182
  * @example
185
183
  * ```ts
@@ -202,7 +200,7 @@ export async function unstable_getPositionAsync(): Promise<NavigationBarPosition
202
200
  * - `'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.
203
201
  * - `'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.
204
202
  *
205
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
203
+ * > This method is supported only when edge-to-edge is disabled.
206
204
  *
207
205
  * @example
208
206
  * ```ts
@@ -217,7 +215,7 @@ export async function setBehaviorAsync(behavior: NavigationBarBehavior): Promise
217
215
  /**
218
216
  * Gets the behavior of the status and navigation bars when the user swipes or touches the screen.
219
217
  *
220
- * > This method is supported only when edge-to-edge is disabled. Using it in edge-to-edge app may lead to unexpected behavior.
218
+ * > This method is supported only when edge-to-edge is disabled.
221
219
  *
222
220
  * @example
223
221
  * ```ts
@@ -266,5 +264,3 @@ export function useVisibility(): NavigationBarVisibility | null {
266
264
 
267
265
  return visibility;
268
266
  }
269
-
270
- export * from './NavigationBar.types';
package/src/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './NavigationBar';
2
+ export * from './NavigationBar.types';
@@ -1 +0,0 @@
1
- 2e94e805b62c26d3d7349aa6f6f65b9ca42d8cac27908181ca5c9e69cfced87d
@@ -1 +0,0 @@
1
- 58aab84bb5da0dd0611c34fbeaed6bc4877c4cbd8aa951b0ff5284937baf73377ea72f9c2737087365af08ac78d85c200eadecf345225706bc23eba5a1821cb7
@@ -1 +0,0 @@
1
- 723a33eec9f07b506e11395023460d9ada2a2a855748e089bff3df24d74ee088
@@ -1 +0,0 @@
1
- e7eb86d7df84019dd2936b53db56899bfdc6450f3798244eafcfff3f245126e4913eeec8ba2ff816cc5b463e4fba9625cc99fc0a0543fa5fd4b0337f22efb453
@@ -1 +0,0 @@
1
- 54e5f08a1ddb84aaeea582698c4b57ff9cd971d388989c445fa8ac1d080c2d42
@@ -1 +0,0 @@
1
- e99284c34879ca7c660515d2271fe494671ab86367f454a66701050d5f9008e3d8cb848edf4ec47339747b56104b3b4cb0ee6019f1731658e2cec7ee97fb3681