@mui/x-charts
Version:
The community edition of MUI X Charts components.
22 lines (21 loc) • 912 B
JavaScript
import { createGetNextIndexFocusedItem, createGetPreviousIndexFocusedItem, createGetNextSeriesFocusedItem, createGetPreviousSeriesFocusedItem } from "./commonNextFocusItem.mjs";
/**
* Create a keyboard focus handler for common use cases where focused item are defined by the series is and data index.
*/
export function createCommonKeyboardFocusHandler(outSeriesTypes, allowCycles) {
const keyboardFocusHandler = event => {
switch (event.key) {
case 'ArrowRight':
return createGetNextIndexFocusedItem(outSeriesTypes, allowCycles);
case 'ArrowLeft':
return createGetPreviousIndexFocusedItem(outSeriesTypes, allowCycles);
case 'ArrowDown':
return createGetPreviousSeriesFocusedItem(outSeriesTypes);
case 'ArrowUp':
return createGetNextSeriesFocusedItem(outSeriesTypes);
default:
return null;
}
};
return keyboardFocusHandler;
}