Skip to main content

Installation

For React applications, install the hooks-based package:

npm install @noriginmedia/norigin-spatial-navigation-core @noriginmedia/norigin-spatial-navigation-react
yarn add @noriginmedia/norigin-spatial-navigation-core @noriginmedia/norigin-spatial-navigation-react

Peer dependency: React >= 16.8.0

This package exports useFocusable, FocusContext, and all type definitions you need.

React Native TV​

For React Native TV apps (Android TV, Apple TV, and similar targets), install the package that bundles the React hooks and the TV layout adapter:

npm install @noriginmedia/norigin-spatial-navigation-react-native-tvos
yarn add @noriginmedia/norigin-spatial-navigation-react-native-tvos

Peer dependencies: React >= 16.8.0 and React Native >= 0.73.7.

This package depends on react-native-tvos as the React Native fork.

See React Native TV for initialization and adapter usage.

Core Package (Framework-Agnostic)​

If you need the navigation service without React bindings:

npm install @noriginmedia/norigin-spatial-navigation-core

This package exports the SpatialNavigation singleton and its types. You manage component registration yourself by calling addFocusable and removeFocusable directly.

Legacy Combined Package​

If you are upgrading from an older version of the library:

npm install @noriginmedia/norigin-spatial-navigation

This package re-exports everything from both core and react. It exists for backwards compatibility. New projects should use the specific packages above.

TypeScript​

All packages ship with bundled TypeScript declarations. No separate @types/ package is needed.