import type { ChangeEvent, ReactNode } from 'react'; import { CircleHelp, Code2, Expand, FolderOpen, Minimize, PanelLeft, PanelRight, Pause, Play, RotateCcw, Search, StepForward, Sun, Moon, Upload, } from 'lucide-react'; import { Button, IconButton, Select } from '../../components/ui'; const fileActionClass = 'inline-flex h-7 cursor-pointer items-center gap-1.5 rounded-md border border-border bg-surface px-2 text-xs font-medium text-text-primary transition-colors hover:bg-element-hover focus-within:ring-2 focus-within:ring-accent/30'; const fileActionLabelClass = 'hidden sm:inline'; export function WorkbenchHeader({ paused, ready, speed, theme, loading, leftOpen, rightOpen, fullscreen, hasProject, center, endActions, compactMenu, onFiles, onFolder, onOpenSource, onTogglePause, onStep, onReset, onSpeed, onToggleLeft, onToggleRight, onToggleTheme, onHelp, onCommands, onToggleFullscreen, }: { paused: boolean; ready: boolean; speed: number; theme: 'light' | 'dark'; loading: boolean; leftOpen: boolean; rightOpen: boolean; fullscreen: boolean; hasProject?: boolean; center: ReactNode; endActions?: ReactNode; compactMenu?: ReactNode; onFiles: (event: ChangeEvent) => void; onFolder: (event: ChangeEvent) => void; onOpenSource?: () => void; onTogglePause: () => void; onStep: () => void; onReset: () => void; onSpeed: (value: number) => void; onToggleLeft: () => void; onToggleRight: () => void; onToggleTheme: () => void; onHelp: () => void; onCommands: () => void; onToggleFullscreen: () => void; }) { return (

MuJoCo Web 仿真平台

{center}
{endActions} {compactMenu} {fullscreen ? : } {theme === 'dark' ? : }
); }