Skip to content

Releases: NoriginMedia/Norigin-Spatial-Navigation

data-focused attribute for focused items

16 Jan 08:27
Compare
Choose a tag to compare

[2.2.3]

  • Enhanced focus behavior by adding and removing the data-focused attribute during focus transitions. This allows to check if the item has focus via DOM attributes. Can be useful for e2e tests automation.

Exporting top level core service

06 Dec 10:18
e6ac578
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.2.1...v2.2.2

Dynamic RTL Support and Custom Distance Calculation Enhancements

02 Oct 09:07
06cc026
Compare
Choose a tag to compare

[2.2.1]

Added

  • New init config option distanceCalculationMethod that allows switching between edge-based, center-based and corner-based (default) distance calculations.
  • Support for a custom distance calculation function via the customDistanceCalculationFunction option, enabling custom logic for determining distances between focusable components. This will override the getSecondaryAxisDistance method.
  • Added updateRTL method to update the RTL behavior dynamically. This method allows toggling the Right-to-Left layout at runtime, updating the spatial navigation behavior without requiring reinitialization.

domNodeFocusOptions support

20 Aug 12:50
631bf3e
Compare
Choose a tag to compare

Added

  • new init config option domNodeFocusOptions for passing FocusOptions when using shouldFocusDOMNode

RTL support, native events support

15 Nov 13:40
Compare
Choose a tag to compare

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.

Console warn on empty ref, support for strings for Key Event names

16 Oct 12:38
Compare
Choose a tag to compare

[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.

Restoring focus to the parent with `preferredChildFocusKey` set

09 Oct 12:01
Compare
Choose a tag to compare

[2.0.1]

Fixed

  • Restoring focus to the parent with preferredChildFocusKey set

Moved global methods, new features for focus restore and boundary directions

11 Sep 14:21
Compare
Choose a tag to compare

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

Bugfixes, auto restore focus improvements

31 Jul 13:00
Compare
Choose a tag to compare
  • 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.

Bugfixes

31 Jul 09:36
Compare
Choose a tag to compare

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