UNPKG

@heycar-uikit/core

Version:
40 lines (36 loc) 1.64 kB
Object.defineProperty(exports, '__esModule', { value: true }); var tslib_es6 = require('../tslib.es6-0efb545c.js'); var React = require('react'); var constants_Header_constants = require('../constants/Header.constants.js'); var useNavigationItem = function (activeNavItem, setActiveNavItem, resetMenuState) { var toggleSubNav = React.useCallback(function (id, isActive, force) { var nextActiveId = force || !isActive ? id : undefined; setActiveNavItem(nextActiveId); }, [setActiveNavItem]); var keyboardOpen = React.useCallback(function (e, id, isActive) { if (e.code === 'Space') { e.preventDefault(); toggleSubNav(id, isActive); } }, [toggleSubNav]); var closeSiblings = React.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(tslib_es6.__assign(tslib_es6.__assign({}, constants_Header_constants.headerClickTracking), track.obj)); if (typeof onClick === 'function') onClick(); }; return { toggleSubNav: toggleSubNav, keyboardOpen: keyboardOpen, closeSiblings: closeSiblings, itemOnClick: itemOnClick, }; }; exports.useNavigationItem = useNavigationItem;