@activate-spritz-components/spritz-ui-components
Version:
This is shared components library for spritz projects.
48 lines (47 loc) • 1.23 kB
TypeScript
import { ReactNode, FunctionComponent } from 'react';
interface NavItem {
id: string;
label: string;
href?: string;
icon?: ReactNode;
onClick?: () => void;
isActive?: boolean;
isDisabled?: boolean;
openInNewTab?: boolean;
}
interface HamburgerMenuProps {
id?: string;
className?: string;
items: NavItem[];
triggerIcon?: ReactNode;
menuTitle?: string;
showHeader?: boolean;
position?: 'left' | 'right';
variant?: 'dropdown' | 'sidebar';
backgroundColor?: string;
borderColor?: string;
shadow?: boolean;
defaultOpenInNewTab?: boolean;
mobileOpenInNewTab?: boolean;
desktopOpenInNewTab?: boolean;
menuItemTextColor?: string;
menuItemHoverColor?: string;
menuItemActiveColor?: string;
onItemClick?: (item: NavItem) => void;
onOpenChange?: (isOpen: boolean) => void;
}
/**
* Hamburger Menu component
*
* Features:
* - Independent hamburger menu component
* - Dropdown and sidebar variants
* - Configurable positioning
* - Flexible link behavior
* - Clean separation of concerns
*
* @param {*} props
* @returns
*/
declare const HamburgerMenu: FunctionComponent<HamburgerMenuProps>;
export default HamburgerMenu;