Releases: NoriginMedia/Norigin-Spatial-Navigation
Releases · NoriginMedia/Norigin-Spatial-Navigation
New callback `onArrowRelease`
data-focused attribute for focused items
[2.2.3]
- Enhanced focus behavior by adding and removing the
data-focusedattribute 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
Dynamic RTL Support and Custom Distance Calculation Enhancements
[2.2.1]
Added
- New init config option
distanceCalculationMethodthat allows switching between edge-based, center-based and corner-based (default) distance calculations. - Support for a custom distance calculation function via the
customDistanceCalculationFunctionoption, enabling custom logic for determining distances between focusable components. This will override thegetSecondaryAxisDistancemethod. - Added
updateRTLmethod 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
Added
- new
initconfig optiondomNodeFocusOptionsfor passing FocusOptions when usingshouldFocusDOMNode
RTL support, native events support
Added
- new
initconfig optionshouldUseNativeEventsthat enables the use of native events for triggering actions, such as clicks or key presses. - new
initconfig optionrtlthat 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
[2.0.2]
Added
- Console warning when passing an empty
reftouseFocusable - 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
[2.0.1]
Fixed
- Restoring focus to the parent with
preferredChildFocusKeyset
Moved global methods, new features for focus restore and boundary directions
Added
- New property for
useFocusable-focusBoundaryDirections, array of directions to block whenisFocusBoundaryis enabled - New property
useFocusable-forceFocusto mark the component to be the target for auto-restore focus logic when focus is lost - New global method
doesFocusableExistto check if the focusable component exists before setting focus on it. Safety feature
Changed
- [BREAKING] Top level exports
setFocus, getCurrentFocusKey, navigateByDirection, pause, resume, updateAllLayoutsare now exported fromSpatialNavigationinstead ofuseFocusablehook.
Fixed
- Context display name is now called
FocusContextin React Devtools - Updating
lastFocusedChildKeyfor newly added parent components
Bugfixes, auto restore focus improvements
- Fixed the issue where component would have kept itself in the array of
parentsHavingFocusedChildarray after removal - Further improvements to
autoRestoreFocuslogic 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.