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) | [![badge](https://img.shields.io/npm/v/react-native-bottom-tabs?style=for-the-badge)](https://www.npmjs.com/package/react-native-bottom-tabs) | | [@bottom-tabs/expo-template](/packages/expo-template) | [![badge](https://img.shields.io/npm/v/@bottom-tabs/expo-template.svg?style=for-the-badge)](https://www.npmjs.com/package/@bottom-tabs/expo-template) | | [@bottom-tabs/react-navigation](/packages/react-navigation) | [![badge](https://img.shields.io/npm/v/@bottom-tabs/react-navigation.svg?style=for-the-badge)](https://www.npmjs.com/package/@bottom-tabs/react-navigation) | +| [@bottom-tabs/standard-navigation](/packages/standard-navigation) | [![badge](https://img.shields.io/npm/v/@bottom-tabs/standard-navigation.svg?style=for-the-badge)](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 -