function / @typed/ui

Composite.tabIndex

Derives 0 only for the active item under roving focus; virtual-focus items always receive -1.

Learn this UI primitive →

Package version
1.0.0-beta.7
Category
Keyboard focus
Since
1.0.0
Member of
Composite

Import

import { Composite } from "@typed/ui";

Access Composite.tabIndex through the imported Composite export. Its declaration below describes the member.

This public exposure is a re-export. Its import path is supported; declaration documentation is shared with the other public exposures below.

Signatures

export declare function tabIndex<CompositeState extends State, E, R>(state: RefSubject.RefSubject<CompositeState, E, R>, id: string): RefSubject.Computed<0 | -1, E, R>;

Why

The operation exposes Composite’s transition directly so callers can compose it in Effect programs and native event handlers.

Ownership and lifetime

Creating the Computed value acquires nothing eagerly. The Scope that subscribes to it owns observation of the source RefSubject.

Example

Import with import { tabIndex } from "@typed/ui/Composite"; Extend the Composite.makeState runnable setup. Inside the linked Effect program read const value = yield* tabIndex(state, "item-2"); it is 0 only while that item owns roving focus and is -1 under virtual focus.

Other public imports

These import paths expose the same declaration. Each page retains its own public name and signature.

Source