diff --git a/.changeset/config.json b/.changeset/config.json
index d66664ad..0016a0bd 100644
--- a/.changeset/config.json
+++ b/.changeset/config.json
@@ -5,7 +5,8 @@
"fixed": [
[
"react-native-bottom-tabs",
- "@bottom-tabs/react-navigation"
+ "@bottom-tabs/react-navigation",
+ "@bottom-tabs/standard-navigation"
]
],
"linked": [],
diff --git a/.changeset/standard-navigation-shared-adapter.md b/.changeset/standard-navigation-shared-adapter.md
new file mode 100644
index 00000000..e496c195
--- /dev/null
+++ b/.changeset/standard-navigation-shared-adapter.md
@@ -0,0 +1,6 @@
+---
+'@bottom-tabs/standard-navigation': minor
+'@bottom-tabs/react-navigation': minor
+---
+
+Move the native tabs implementation into a new framework-agnostic `@bottom-tabs/standard-navigation` package built on the `standard-navigation` contract, so Expo Router SDK 56+ apps can drive the same navigator through `unstable_createStandardRouterNavigator` without loading a second copy of React Navigation.
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index afe3d690..9b4de4c4 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -30,6 +30,18 @@ jobs:
- name: Typecheck files
run: yarn typecheck
+ test:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+
+ - name: Setup
+ uses: ./.github/actions/setup
+
+ - name: Run unit tests
+ run: yarn test
+
swift-lint:
runs-on: ubuntu-latest
steps:
diff --git a/README.md b/README.md
index 2452dfd3..f9cffc61 100644
--- a/README.md
+++ b/README.md
@@ -38,6 +38,7 @@ https://github.com/user-attachments/assets/09e96ac3-827d-4ac0-add0-e7b88ee9197c
| [react-native-bottom-tabs](/packages/react-native-bottom-tabs) | [](https://www.npmjs.com/package/react-native-bottom-tabs) |
| [@bottom-tabs/expo-template](/packages/expo-template) | [](https://www.npmjs.com/package/@bottom-tabs/expo-template) |
| [@bottom-tabs/react-navigation](/packages/react-navigation) | [](https://www.npmjs.com/package/@bottom-tabs/react-navigation) |
+| [@bottom-tabs/standard-navigation](/packages/standard-navigation) | [](https://www.npmjs.com/package/@bottom-tabs/standard-navigation) |
## Documentation
diff --git a/docs/docs/docs/getting-started/quick-start.mdx b/docs/docs/docs/getting-started/quick-start.mdx
index e8de61c8..e0e7c025 100644
--- a/docs/docs/docs/getting-started/quick-start.mdx
+++ b/docs/docs/docs/getting-started/quick-start.mdx
@@ -6,7 +6,6 @@ import { PackageManagerTabs } from '@theme';
If you don't have an existing project, you can create a new [Expo](https://expo.dev) app using the following command:
-
```sh
npx create-expo-app@latest NativeTabs --template @bottom-tabs/expo-template
```
@@ -15,16 +14,18 @@ npx create-expo-app@latest NativeTabs --template @bottom-tabs/expo-template
-If you are going to use [React Navigation / Expo Router Integration](/docs/guides/usage-with-react-navigation) make sure to install `@bottom-tabs/react-navigation`.
+If you are going to use the [React Navigation integration](/docs/guides/usage-with-react-navigation), or [Expo Router](/docs/guides/usage-with-expo-router) on SDK 52 to 55, also install `@bottom-tabs/react-navigation`.
+For [Expo Router](/docs/guides/usage-with-expo-router) on SDK 56 or newer, install `@bottom-tabs/standard-navigation` instead.
+
+
### Expo
Add the library plugin in your `app.json` config file and [create a new build](https://docs.expo.dev/develop/development-builds/create-a-build/).
-
```diff
"expo": {
+ "plugins": ["react-native-bottom-tabs"]
@@ -42,7 +43,6 @@ This library is not supported in [Expo Go](https://expo.dev/go).
Edit `android/app/src/main/res/values/styles.xml` to inherit from provided theme in order to customize the appearance of the native bottom tabs.
-
```diff
-