Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .changeset/dull-points-bake.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
'@noriginmedia/norigin-spatial-navigation-core': minor
'@noriginmedia/norigin-spatial-navigation-react-native-tvos': major
---

- Add NodeTypeOverrides interface to allow node type to be overridden by the adapter
- Added `ReactNativeLayoutAdapter` for React Native TV support

**BREAKING CHANGES**

- Removed `nativeMode` option from `SpatialNavigationServiceOptions`
- Removed `isNativeMode` method from `SpatialNavigationService`
6 changes: 6 additions & 0 deletions .changeset/hot-falcons-begin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@noriginmedia/norigin-spatial-navigation-core": patch
"@noriginmedia/norigin-spatial-navigation-react": patch
---

- Add `nextFocusResolver` to override default behavior
5 changes: 5 additions & 0 deletions .changeset/hungry-donuts-wave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@noriginmedia/norigin-spatial-navigation-react-native-tvos": patch
---

- Add extra compatibility for web bundlers like Vite or Webpack when using with React Native Web
8 changes: 8 additions & 0 deletions .changeset/spotty-dots-vanish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@noriginmedia/norigin-spatial-navigation-core': major
---

- Measure layout methods are now async
- Deprecated `useGetBoundingClientRect` option in `init` method. Prefer `init({ layoutAdapter: GetBoundingClientRectAdapter })` or keep the flag until you migrate
- Added `Scheduler` class to manage asynchronous tasks in a strict sequence
- Export `BaseWebAdapter` and `GetBoundingClientRectAdapter` from `@noriginmedia/norigin-spatial-navigation-core`
4 changes: 3 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
"project": "./tsconfig.json"
},
"rules": {
"no-nested-ternary": "off"
"no-nested-ternary": "off",
"no-underscore-dangle": "off",
"class-methods-use-this": "off"
}
}
15 changes: 6 additions & 9 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,11 @@ jobs:
- name: Install dependencies
run: npm ci

- name: Run eslint check
uses: sibiraj-s/action-eslint@v3
with:
all-files: true
ignore-path: .eslintignore
ignore-patterns: |
dist/
lib/

- name: Run prettier check
run: npm run prettier

- name: Run eslint check
run: npm run lint

- name: Run tests
run: npm run test
32 changes: 11 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,33 +15,23 @@ The missing piece between your app and the TV remote.
- **Light and low-dependency**: Simple API, minimal footprint, no runtime surprises
on constrained TV hardware.

<a href="https://github.com/NoriginMedia/Norigin-Spatial-Navigation/blob/next/docs/guides/react-native-tv.md">
<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://devportal.noriginmedia.com/img/RN-dark.png">
<source media="(prefers-color-scheme: light)" srcset="https://devportal.noriginmedia.com/img/RN-light.png">
<img alt="Norigin Spatial Navigation now supports React Native" src="https://devportal.noriginmedia.com/img/RN-light.png">
</picture>
</div>
</a>

## [Documentation](https://devportal.noriginmedia.com/docs/Norigin-Spatial-Navigation/)

For more detailed documentation and usage examples, visit our [Developer Portal](https://devportal.noriginmedia.com/docs/Norigin-Spatial-Navigation/)

## Supported Devices

| Platform | Support |
| ------------------------------------------------- | ---------------------- |
| Chrome, Firefox, Safari | ✅ Fully supported |
| Samsung Tizen | ✅ Fully supported |
| LG webOS | ✅ Fully supported |
| Hisense VIDAA | ✅ Fully supported |
| Vizio OS | ✅ Fully supported |
| Titan OS | ✅ Fully supported |
| Chromium, Eikoh, and WebKit-based STBs | ✅ Fully supported |
| Android TV · React Native via `react-native-tvos` | ⚠️ Partially supported |
| Apple TV · React Native via `react-native-tvos` | ⚠️ Partially supported |
| Platform | Support |
| ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| Chrome, Firefox, Safari | ✅ Fully supported |
| Samsung Tizen | ✅ Fully supported |
| LG webOS | ✅ Fully supported |
| Hisense VIDAA | ✅ Fully supported |
| Vizio OS | ✅ Fully supported |
| Titan OS | ✅ Fully supported |
| Chromium, Eikoh, and WebKit-based STBs | ✅ Fully supported |
| Android TV · React Native (`@noriginmedia/norigin-spatial-navigation-react-native`) | ✅ Supported ([see docs](https://devportal.noriginmedia.com/docs/Norigin-Spatial-Navigation/guides/react-native-tv)) |
| Apple TV · React Native (`@noriginmedia/norigin-spatial-navigation-react-native`) | ✅ Supported ([see docs](https://devportal.noriginmedia.com/docs/Norigin-Spatial-Navigation/guides/react-native-tv)) |

## Demo

Expand Down
Loading