Norigin Spatial Navigation Versions Save

React Hooks based Spatial Navigation (Key & Remote Control Navigation) / Web Browsers, Smart TVs and Connected TVs

v2.1.0

6 months ago

Added

  • new init config option shouldUseNativeEvents that enables the use of native events for triggering actions, such as clicks or key presses.
  • new init config option rtl that changes focus behavior for layouts in right-to-left (RTL) languages such as Arabic and Hebrew.

v2.0.2

7 months ago

[2.0.2]

Added

  • Console warning when passing an empty ref to useFocusable
  • Support for string names for Key Events. Now you can configure the key map with numbers or event names like ArrowRight.

v2.0.1

7 months ago

[2.0.1]

Fixed

  • Restoring focus to the parent with preferredChildFocusKey set

v2.0.0

8 months ago

Added

  • New property for useFocusable - focusBoundaryDirections, array of directions to block when isFocusBoundary is enabled
  • New property useFocusable - forceFocus to mark the component to be the target for auto-restore focus logic when focus is lost
  • New global method doesFocusableExist to check if the focusable component exists before setting focus on it. Safety feature

Changed

  • [BREAKING] Top level exports setFocus, getCurrentFocusKey, navigateByDirection, pause, resume, updateAllLayouts are now exported from SpatialNavigation instead of useFocusable hook.

Fixed

  • Context display name is now called FocusContext in React Devtools
  • Updating lastFocusedChildKey for newly added parent components

v1.3.3

9 months ago
  • Fixed the issue where component would have kept itself in the array of parentsHavingFocusedChild array after removal
  • Further improvements to autoRestoreFocus logic to trigger not only on Lead components, but also on Parents that had focused child when being removed. Edge case, normally children are removed first.

v1.3.2

9 months ago

Fixed

  • Fixed a bug where parents were not updating their hasFocusedChild when new child is created and focused right away
  • Fixed a bug where lastFocusedChild was updated only on blur, but not on manual focus, resulting in a wrong key being stored

Changed

  • Renamed useFocusedContext file to useFocusContext to match the export name

v1.3.1

1 year ago

Added

  • Extra debug logs, printing focusable components data in addition to DOM nodes.
  • Extra call to set focused state to false on unmount. This is to support "double-mount" in Strict mode in React 18.

Changed

  • [Potentially Breaking] Auto restore focus when the item is removed is now happening with a slight debounced delay. This is done to prevent multiple automatic focus restorations when multiple elements are remove one by one. Now it will accumulate all the auto-restore focus calls into one delayed debounced call with the final target parent to get focused.

Removed

  • Custom useEffectOnce hook that introduced issues with unmounted components being remained as focusable.

v1.3.0

1 year ago

This release includes support for Accessibility. With the new configuration flag shouldFocusDOMNode it is possible to also set a native browser focus on the DOM node when the item is focused by the library. This allows usage of aria tags for screen readers.

v1.2.0

1 year ago

New init config option useGetBoundingClientRect that affects the measurements of sizes and coordinates.

v1.1.5

1 year ago

Added

  • Add setThrottle to dynamically change throttle time. In relation to issue #45

Changed

  • Remove event listeners for unbindEventHandlers regardless of throttle value