import type { HTMLAttributes, ReactNode } from "react"; import { cn } from "./cn"; export interface AdminNavigationContext { id: string; label: string; description?: string; groupLabel?: string; icon?: ReactNode; active?: boolean; onSelect?: () => void; onToggle?: () => void; } export interface AdminNavigationItem { id: string; label: string; icon?: ReactNode; } export interface AdminNavigationPanelProps extends Omit, "title"> { eyebrow?: string; title: ReactNode; contexts?: AdminNavigationContext[]; items: AdminNavigationItem[]; activeId?: string; footer?: ReactNode; closeLabel?: string; onClose: () => void; onItemChange: (id: string) => void; } export function AdminNavigationPanel({ eyebrow = "NODE.DC", title, contexts = [], items, activeId, footer, closeLabel = "Закрыть администрирование", onClose, onItemChange, className, ...props }: AdminNavigationPanelProps) { return ( ); }