preact-spatial-navigation
Version:
A powerful Preact library for TV-style spatial navigation with LRUD algorithm, virtualized lists/grids, and smart TV support
41 lines • 3.54 kB
TypeScript
/**
* Preact Spatial Navigation Library
*
* A reusable library for TV-style spatial navigation in Preact applications,
* powered by @bam.tech/lrud.
*/
import './utils/chrome38Compatibility';
export { Directions } from '@bam.tech/lrud';
export { SpatialNavigationRoot, SpatialNavigationProvider, } from './components/SpatialNavigationRoot';
export { SpatialNavigationNode } from './components/SpatialNavigationNode';
export { SpatialNavigationView } from './components/SpatialNavigationView';
export { SpatialNavigationFocusableView } from './components/SpatialNavigationFocusableView';
export { SpatialNavigationScrollView } from './components/SpatialNavigationScrollView';
export { DefaultFocus } from './context/DefaultFocusContext';
export { SpatialNavigationVirtualizedList } from './components/virtualizedList/SpatialNavigationVirtualizedList';
export { SpatialNavigationVirtualizedGrid } from './components/virtualizedGrid/SpatialNavigationVirtualizedGrid';
export { SpatialNavigationDeviceTypeProvider, useDeviceType } from './context/DeviceTypeContext';
export { useSpatialNavigator, useSpatialNavigatorContext } from './context/SpatialNavigatorContext';
export { useLockSpatialNavigation } from './context/LockSpatialNavigationContext';
export { useSpatialNavigatorFocusableAccessibilityProps } from './hooks/useSpatialNavigatorFocusableAccessibilityProps';
/** @deprecated Use SpatialNavigationNode with render props pattern instead */
export { useFocusable } from './hooks/useFocusable';
export { navigationEventBus } from './utils/eventBus';
export { generateSectionId, isElementFocused, focusElement, blurElement, } from './utils/helpers';
export { configureRemoteControl, createKeyboardRemoteControl, TV_REMOTE_KEYS, createLGRemoteControl, } from './utils/remoteControl';
export declare const SpatialNavigation: {
configureRemoteControl: (options: import("./utils/remoteControl").RemoteControlConfiguration) => void;
};
export type { Direction, Orientation, NodeOrientation, FocusableNodeState, NonFocusableNodeState, SpatialNavigationRootProps, SpatialNavigationNodeProps, SpatialNavigationNodeFocusableProps, SpatialNavigationNodeNonFocusableProps, SpatialNavigationNodeRef, SpatialNavigationViewProps, SpatialNavigationFocusableViewProps, SpatialNavigationScrollViewProps, SpatialNavigationContextValue, FocusableConfig, UseFocusableReturn, SpatialNavigationProviderProps, FocusDetail, } from './types';
export type { NavigationEvents } from './utils/eventBus';
export type { DeviceType, DeviceTypeContextValue } from './context/DeviceTypeContext';
export type { DefaultFocusProps } from './context/DefaultFocusContext';
export type { RemoteControlConfiguration } from './utils/remoteControl';
export type { VirtualizedListProps } from './components/virtualizedList/VirtualizedList';
export type { ViewportPadding } from './components/virtualizedList/VirtualizedListWithSize';
export type { SpatialNavigationVirtualizedListRef, SpatialNavigationVirtualizedListWithScrollProps, PointerScrollProps, } from './components/virtualizedList/SpatialNavigationVirtualizedListWithScroll';
export type { SpatialNavigationVirtualizedGridRef } from './components/virtualizedGrid/SpatialNavigationVirtualizedGrid';
export type { ScrollBehavior } from './components/virtualizedList/types';
export type { AccessibilityOptions, AccessibilityProps } from './hooks/useSpatialNavigatorFocusableAccessibilityProps';
export type { UseLockSpatialNavigationReturn } from './hooks/useLockSpatialNavigation';
//# sourceMappingURL=index.d.ts.map