const getHandleFocusMethod = calcIndex => (itemsAndActiveIndex = {}) => {
const { children, activeIndex } = itemsAndActiveIndex;
Iif (children.length === 0) {
return;
}
const index = calcIndex(activeIndex, children);
children[index] && children[index].focus();
};
const calcNextIndex = (activeIndex, children) => (activeIndex === children.length - 1 ? 0 : activeIndex + 1);
const calcPreviousIndex = (activeIndex, children) => (activeIndex === 0 ? children.length - 1 : activeIndex - 1);
const focusNextItem = getHandleFocusMethod(calcNextIndex);
const focusPreviousItem = getHandleFocusMethod(calcPreviousIndex);
export {
focusNextItem,
focusPreviousItem
};
|