"use client" import { useState } from "react" import { Menu, X, ChevronDown, ChevronRight, Check } from "lucide-react" import { Button } from "@/components/ui/button" import type { MenuItem } from "@/types/menu" interface HamburgerMenuProps { menuItems: MenuItem[] onMenuItemClick?: (item: MenuItem) => void onMenuItemToggle?: (itemId: string) => void transitionDuration?: string } interface MenuItemComponentProps { item: MenuItem onItemClick?: (item: MenuItem) => void onItemToggle?: (itemId: string) => void transitionDuration: string depth?: number } function MenuItemComponent({ item, onItemClick, onItemToggle, transitionDuration, depth = 0 }: MenuItemComponentProps) { if (item.isVisible === false) return null const hasChildren = item.children && item.children.length > 0 const isExpanded = item.isExpanded || false const paddingLeft = depth * 16 + 16 // 16px base + 16px per depth level const handleClick = () => { if (item.disabled) return if (hasChildren) { onItemToggle?.(item.id) } else if (item.onClick) { item.onClick() onItemClick?.(item) } } return (