Key managers
import {  } from '@koobiq/cdk/a11y';
Properties
Name Description
activeItem: T
activeItemIndex: number
change: Subject Stream that emits whenever the active item of the list manager changes.
previousActiveItemIndex: number
tabOut: Subject Stream that emits any time the TAB key is pressed, so components can react when focus is shifted off of the list.
Methods
getFocusOrigin
isTyping
Gets whether the user is currently typing into the manager using the typeahead feature.
onKeydown
Sets the active item depending on the key event passed in.
setActiveItem
setFirstItemActive
setFocusOrigin
Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.
setLastItemActive
setNextItemActive
setNextPageItemActive
setPreviousItemActive
setPreviousPageItemActive
skipPredicate
Sets the predicate function that determines which items should be skipped by the list key manager.
updateActiveItem
withAllowedModifierKeys
Modifier keys which are allowed to be held down and whose default actions will be prevented as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.
withHomeAndEnd
Configures the key manager to activate the first and last items respectively when the Home or End key is pressed.
withHorizontalOrientation
Configures the key manager to move the selection horizontally. Passing in `null` will disable horizontal movement.
withScrollSize
withTypeAhead
Turns on typeahead mode which allows users to set the active item by typing.
withVerticalOrientation
Configures whether the key manager should be able to move the selection vertically.
withWrap
Turns on wrapping mode, which ensures that the active item will wrap to the other end of list when there are no more items in the given direction.
Properties
Name Description
activeItem: T
activeItemIndex: number
change: Subject Stream that emits whenever the active item of the list manager changes.
previousActiveItemIndex: number
tabOut: Subject Stream that emits any time the TAB key is pressed, so components can react when focus is shifted off of the list.
Methods
isTyping
Gets whether the user is currently typing into the manager using the typeahead feature.
onKeydown
Sets the active item depending on the key event passed in.
setActiveItem
This method sets the active item to the item at the specified index. It also adds active styles to the newly active item and removes active styles from the previously active item.
setFirstItemActive
setLastItemActive
setNextItemActive
setNextPageItemActive
setPreviousItemActive
setPreviousPageItemActive
skipPredicate
Sets the predicate function that determines which items should be skipped by the list key manager.
updateActiveItem
withAllowedModifierKeys
Modifier keys which are allowed to be held down and whose default actions will be prevented as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.
withHomeAndEnd
Configures the key manager to activate the first and last items respectively when the Home or End key is pressed.
withHorizontalOrientation
Configures the key manager to move the selection horizontally. Passing in `null` will disable horizontal movement.
withScrollSize
withTypeAhead
Turns on typeahead mode which allows users to set the active item by typing.
withVerticalOrientation
Configures whether the key manager should be able to move the selection vertically.
withWrap
Turns on wrapping mode, which ensures that the active item will wrap to the other end of list when there are no more items in the given direction.

This class manages keyboard events for selectable lists. If you pass it a query list of items, it will set the active item correctly when arrow events occur.

Properties
Name Description
activeItem: T
activeItemIndex: number
change: Subject Stream that emits whenever the active item of the list manager changes.
previousActiveItemIndex: number
tabOut: Subject Stream that emits any time the TAB key is pressed, so components can react when focus is shifted off of the list.
Methods
isTyping
Gets whether the user is currently typing into the manager using the typeahead feature.
onKeydown
Sets the active item depending on the key event passed in.
setActiveItem
Sets the active item to the item at the index specified.
setFirstItemActive
setLastItemActive
setNextItemActive
setNextPageItemActive
setPreviousItemActive
setPreviousPageItemActive
skipPredicate
Sets the predicate function that determines which items should be skipped by the list key manager.
updateActiveItem
withAllowedModifierKeys
Modifier keys which are allowed to be held down and whose default actions will be prevented as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.
withHomeAndEnd
Configures the key manager to activate the first and last items respectively when the Home or End key is pressed.
withHorizontalOrientation
Configures the key manager to move the selection horizontally. Passing in `null` will disable horizontal movement.
withScrollSize
withTypeAhead
Turns on typeahead mode which allows users to set the active item by typing.
withVerticalOrientation
Configures whether the key manager should be able to move the selection vertically.
withWrap
Turns on wrapping mode, which ensures that the active item will wrap to the other end of list when there are no more items in the given direction.

This is the interface for highlightable items (used by the ActiveDescendantKeyManager). Each item must know how to style itself as active or inactive and whether or not it is currently disabled.

Properties
Name Description
disabled: boolean
Methods
getLabel
setActiveStyles
setInactiveStyles

This is the interface for focusable items (used by the FocusKeyManager). Each item must know how to focus itself, whether or not it is currently disabled and be able to supply it's label.

Properties
Name Description
disabled: boolean
Methods
focus
getLabel
Properties
Name Description
disabled: boolean
Methods
getLabel

Modifier keys handled by the ListKeyManager.

type ListKeyManagerModifierKey = 'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey';
Вопросы и предложения по документации
Если у вас есть вопросы или вы хотите внести свой вклад в написание документации, пожалуйста, создайте issue в нашем репозитории на GitHub.