react-native-navigation-mode 1.1.1 → 1.2.0-beta.1

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.
package/README.md CHANGED
@@ -167,10 +167,10 @@ console.log('Navigation bar height:', height); // number (dp)
167
167
  | ------------------- | ----------------------------------------------------------- | --------------------------------------------------------- |
168
168
  | type | `'3_button'` or `'2_button'` or `'gesture'` or `'unknown'` | 4 possible Android navigation modes that can be detected. |
169
169
  | isGestureNavigation | `boolean` | Whether gesture navigation is active. |
170
- | interactionMode | `number` or `undefined` | See [Navigation Mode Values](#navigation-mode-values) |
170
+ | interactionMode | `number` or `undefined` | See [Interaction Mode Values](#interaction-mode-values) |
171
171
  | navigationBarHeight | `number` or `undefined` | Navigation bar height in density-independent pixels (dp). |
172
172
 
173
- ### Navigation Mode Values
173
+ ### Interaction Mode Values
174
174
 
175
175
  | Android Mode | Type | Description |
176
176
  | ------------ | ---------- | --------------------------------------------------- |
package/app.plugin.js ADDED
@@ -0,0 +1,15 @@
1
+ const { createRunOncePlugin } = require('@expo/config-plugins');
2
+
3
+ /**
4
+ * Expo Config Plugin for react-native-navigation-mode
5
+ * This plugin ensures the native module is properly linked in managed workflow
6
+ */
7
+ const withNavigationMode = (config) => {
8
+ // No additional configuration needed for this module
9
+ // The module will be auto-linked through the Expo modules system
10
+ return config;
11
+ };
12
+
13
+ const pkg = require('./package.json');
14
+
15
+ module.exports = createRunOncePlugin(withNavigationMode, pkg.name, pkg.version);
@@ -0,0 +1,8 @@
1
+ {
2
+ "ios": {
3
+ "infoPlist": {}
4
+ },
5
+ "android": {
6
+ "minSdkVersion": 24
7
+ }
8
+ }
@@ -0,0 +1,4 @@
1
+ import { type ConfigPlugin } from '@expo/config-plugins';
2
+ declare const withNavigationMode: ConfigPlugin;
3
+ export default withNavigationMode;
4
+ //# sourceMappingURL=withNavigationMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withNavigationMode.d.ts","sourceRoot":"","sources":["../../../../plugin/src/withNavigationMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,QAAA,MAAM,kBAAkB,EAAE,YAEzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-navigation-mode",
3
- "version": "1.1.1",
3
+ "version": "1.2.0-beta.1",
4
4
  "description": "Detect Android navigation mode (3-button, 2-button, or gesture)",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -20,6 +20,9 @@
20
20
  "cpp",
21
21
  "*.podspec",
22
22
  "react-native.config.js",
23
+ "expo-module.config.json",
24
+ "app.plugin.js",
25
+ "plugin/src",
23
26
  "!ios/build",
24
27
  "!android/build",
25
28
  "!android/gradle",
@@ -73,6 +76,7 @@
73
76
  "@eslint/eslintrc": "^3.3.0",
74
77
  "@eslint/js": "^9.22.0",
75
78
  "@evilmartians/lefthook": "^1.5.0",
79
+ "@expo/config-plugins": "^10.1.2",
76
80
  "@react-native-community/cli": "15.0.0-alpha.2",
77
81
  "@react-native/babel-preset": "0.79.5",
78
82
  "@react-native/eslint-config": "0.79.5",
@@ -99,9 +103,15 @@
99
103
  "typescript": "^5.8.3"
100
104
  },
101
105
  "peerDependencies": {
106
+ "expo": "*",
102
107
  "react": "*",
103
108
  "react-native": ">=0.77.0"
104
109
  },
110
+ "peerDependenciesMeta": {
111
+ "expo": {
112
+ "optional": true
113
+ }
114
+ },
105
115
  "workspaces": [
106
116
  "example"
107
117
  ],
@@ -0,0 +1,7 @@
1
+ import { type ConfigPlugin } from '@expo/config-plugins';
2
+
3
+ const withNavigationMode: ConfigPlugin = (config) => {
4
+ return config;
5
+ };
6
+
7
+ export default withNavigationMode;