Feat: Add configurable distance calculation methods #138
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Based on the following issue: → Wrong decision on distance measurement SpatialNavigation.ts :getSecondaryAxisDistance()
We wanted to improve the way on how we handle the algorithm that takes care of the distance calculation between two elements.
This implementation allows developers to choose the best method for navigating between focusable elements. Using
corners
is ideal for siblings of the same size, while thecenter
method is better suited for siblings of varying sizes. Additionally, theedges
option provides another method for edge-based distance calculations.Quick summary :
distanceCalculationMethod
in theinit
method. This option accepts three values:center
,edges
, andcorners
(default).getSecondaryAxisDistance
method to support different distance calculation methods.Usage:
Working Demo With Asset sizing modifications :
distanceCalculationMethod: 'center'
Grabacion.de.pantalla.2024-08-05.a.las.10.15.49.mov
Feel free to add any improvement or suggestion to this implementation.