import type { DesignTheme } from './designTheme'; import type { DesignTab } from './DesignHeader'; export type FoundationsMenuItemId = 'overview' | 'color' | 'typography' | 'radius' | 'layout'; export type ComponentsMenuItemId = 'overview' | 'buttons' | 'text-field'; export type MenuItemId = FoundationsMenuItemId | ComponentsMenuItemId; interface MenuItem { id: MenuItemId; label: string; } const FOUNDATIONS_MENU: MenuItem[] = [ { id: 'overview', label: 'Overview' }, { id: 'color', label: 'Color' }, { id: 'typography', label: 'Typography' }, { id: 'radius', label: 'Radius' }, { id: 'layout', label: 'Layout' }, ]; const COMPONENTS_MENU: MenuItem[] = [ { id: 'overview', label: 'Overview' }, { id: 'buttons', label: 'Buttons' }, { id: 'text-field', label: 'Text Field' }, ]; const SIDEBAR_CONFIG: Record = { foundations: { title: 'FOUNDATIONS', subtitle: 'Design Token System', menu: FOUNDATIONS_MENU }, components: { title: 'COMPONENTS', subtitle: 'UI Component Catalog', menu: COMPONENTS_MENU }, }; export interface DesignSidebarProps { theme: DesignTheme; activeTab: DesignTab; activeItem: MenuItemId; onItemChange: (id: MenuItemId) => void; } export function DesignSidebar({ theme, activeTab, activeItem, onItemChange }: DesignSidebarProps) { const isDark = theme.mode === 'dark'; const { menu } = SIDEBAR_CONFIG[activeTab]; const renderMenuItem = (item: MenuItem) => { const isActive = activeItem === item.id; return ( ); }; return ( ); } export default DesignSidebar;