@chayns-components/core
Version:
A set of beautiful React components for developing your own applications with chayns.
35 lines (34 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.selectItem = exports.getDefaultFocusedIndex = exports.getActiveItemIndex = void 0;
const getDefaultFocusedIndex = items => items.findIndex(item => item.isSelected);
exports.getDefaultFocusedIndex = getDefaultFocusedIndex;
const getActiveItemIndex = ({
contextMenuContentElement,
focusedIndex
}) => {
const activeElement = document.activeElement;
const activeItemElement = contextMenuContentElement !== null && contextMenuContentElement !== void 0 && contextMenuContentElement.contains(activeElement) ? activeElement === null || activeElement === void 0 ? void 0 : activeElement.closest('[data-index]') : undefined;
return activeItemElement ? Number(activeItemElement.dataset.index) : focusedIndex;
};
exports.getActiveItemIndex = getActiveItemIndex;
const selectItem = ({
index,
items,
onClose,
shouldCloseOnPopupClick
}) => {
const item = items[index];
if (!item) {
return false;
}
void item.onClick();
if (shouldCloseOnPopupClick) {
onClose();
}
return true;
};
exports.selectItem = selectItem;
//# sourceMappingURL=ContextMenu.utils.js.map