chrome:shell.skip

generated:catalog.entry.cdk-key-manager.title

generated:catalog.entry.cdk-key-manager.description

@xngui/cdk/key-manager
@xngui/cdk/key-manager

chrome:demo.section

chrome:demo.preview

cdk-preview:cdk-key-manager.active-descendant

cdk-preview:cdk-key-manager.index-label -1 · cdk-preview:cdk-key-manager.activated-label cdk-preview:cdk-key-manager.none

cdk-preview:cdk-key-manager.alpha
cdk-preview:cdk-key-manager.beta
cdk-preview:cdk-key-manager.gamma cdk-preview:cdk-key-manager.disabled
cdk-preview:cdk-key-manager.delta
cdk-preview:cdk-key-manager.epsilon
cdk-preview:cdk-key-manager.zeta
cdk-preview:cdk-key-manager.eta
cdk-preview:cdk-key-manager.theta
cdk-preview:cdk-key-manager.iota
demo-preview:hints.category.navigation:
↑ ↓ ← →Home / EndType
demo-preview:hints.category.shortcuts:
Enter / SpaceEscape
demo-preview:hints.category.focus:
Focus
import { XListKeyManager } from '@xngui/cdk/key-manager';
 
const keyManager = new XListKeyManager({
wrap: true,
typeahead: true,
horizontal: false,
activeDescendant: true,
onActivate: (item) => console.log(item.label),
});
 
keyManager.setItems(items);
keyManager.onKeydown(event);
// activeIndex → -1

chrome:demo.events.title

chrome:demo.events.empty