UNPKG

@veracity/vui

Version:

Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.

38 lines (36 loc) 1.21 kB
import { useStyleConfig } from "../core/theme.js"; import { useSidemenuContext } from "./context.js"; import { useCallback, useMemo } from "react"; //#region src/sidemenuV2/useSidemenuItem.ts const useSidemenuItem = (itemId) => { const sidemenuContext = useSidemenuContext(); const styles = useStyleConfig("SidemenuV2", sidemenuContext); const isSubmenuOpen = useMemo(() => { return itemId ? sidemenuContext?.submenuStates?.[itemId] ?? false : false; }, [itemId, sidemenuContext?.submenuStates]); const handleToggleSubmenu = useCallback(() => { if (itemId && sidemenuContext?.toggleSubmenu) sidemenuContext.toggleSubmenu(itemId); }, [itemId, sidemenuContext?.toggleSubmenu]); const isDark = sidemenuContext?.variant === "dark"; const size = sidemenuContext?.size ?? "lg"; const isMenuExpanded = sidemenuContext?.isMenuExpanded ?? true; return useMemo(() => ({ isDark, size, styles, isMenuExpanded, isSubmenuOpen, toggleSubmenu: handleToggleSubmenu }), [ isDark, size, styles, isMenuExpanded, isSubmenuOpen, handleToggleSubmenu ]); }; //#endregion export { useSidemenuItem as default }; globalThis.__vuiVersion__ = "5.3.1" //# sourceMappingURL=useSidemenuItem.js.map