/** * GeChiUI dependencies */ import { useMemo } from '@gechiui/element'; /** * Internal dependencies */ import * as styles from '../styles'; import { useToolsPanelContext } from '../context'; import { useContextSystem, GeChiUIComponentProps } from '../../ui/context'; import { useCx } from '../../utils/hooks/use-cx'; import type { ToolsPanelHeaderProps } from '../types'; export function useToolsPanelHeader( props: GeChiUIComponentProps< ToolsPanelHeaderProps, 'h2' > ) { const { className, ...otherProps } = useContextSystem( props, 'ToolsPanelHeader' ); const cx = useCx(); const classes = useMemo( () => { return cx( styles.ToolsPanelHeader, className ); }, [ className ] ); const dropdownMenuClassName = useMemo( () => { return cx( styles.DropdownMenu ); }, [] ); const headingClassName = useMemo( () => { return cx( styles.ToolsPanelHeading ); }, [] ); const { menuItems, hasMenuItems, areAllOptionalControlsHidden, } = useToolsPanelContext(); return { ...otherProps, areAllOptionalControlsHidden, dropdownMenuClassName, hasMenuItems, headingClassName, menuItems, className: classes, }; }