createDirectionalPinnedFocusXExtension

Pins the focused item's left edge to the X coordinate selected by getAlign

import {
    createDirectionalPinnedFocusXExtension,
} from "@roku-sdk/flex-grid/compose-h-strategy";
createDirectionalPinnedFocusXExtension<TConfig extends FocusStrategyBase>(matches: HStrategyMatcher, leftFocusX: number, rightFocusX: number, getAlign: (state: FocusState) => "left" | "right"): HStrategyExtension<TConfig>

Description

Pins the focused item's left edge to the X coordinate selected by getAlign. The caller supplies the alignment policy; navigation direction is not inferred.

Parameters

NameTypeDescription
matchesHStrategyMatcherPredicate selecting the focus states this extension applies to.
leftFocusXnumberFocus X coordinate in pixels when getAlign returns "left".
rightFocusXnumberFocus X coordinate in pixels when getAlign returns "right".
getAlign(state: FocusState) => "left" | "right"Returns the alignment for the current focus state.

Return values

An extension overriding both scroll X and focus X for matching states.

Example

import { createDirectionalPinnedFocusXExtension, matchRow } from "@roku-sdk/flex-grid/compose-h-strategy";
createDirectionalPinnedFocusXExtension(matchRow(0), 100, 800, () => "left");

Did this page help you?