UNPKG

@heycar-uikit/core

Version:
38 lines (35 loc) 1.5 kB
import { _ as __assign } from '../tslib.es6-4ac54363.js'; import { useCallback } from 'react'; import { headerClickTracking } from '../constants/Header.constants.js'; var useNavigationItem = function (activeNavItem, setActiveNavItem, resetMenuState) { var toggleSubNav = useCallback(function (id, isActive, force) { var nextActiveId = force || !isActive ? id : undefined; setActiveNavItem(nextActiveId); }, [setActiveNavItem]); var keyboardOpen = useCallback(function (e, id, isActive) { if (e.code === 'Space') { e.preventDefault(); toggleSubNav(id, isActive); } }, [toggleSubNav]); var closeSiblings = useCallback(function (currentId, hasSubNav) { if (currentId !== activeNavItem && hasSubNav) setActiveNavItem(undefined); }, [activeNavItem, setActiveNavItem]); var itemOnClick = function (track, onClick, closeMenu) { if (closeMenu === void 0) { closeMenu = true; } if (closeMenu && resetMenuState) resetMenuState(); if (track && typeof (track === null || track === void 0 ? void 0 : track.fn) === 'function') track.fn(__assign(__assign({}, headerClickTracking), track.obj)); if (typeof onClick === 'function') onClick(); }; return { toggleSubNav: toggleSubNav, keyboardOpen: keyboardOpen, closeSiblings: closeSiblings, itemOnClick: itemOnClick, }; }; export { useNavigationItem };